CVE-2026-68205 (GCVE-0-2026-68205)

Vulnerability from cvelistv5 – Published: 2026-08-10 12:00 – Updated: 2026-08-17 05:00
VLAI
Title
media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()
Summary
In the Linux kernel, the following vulnerability has been resolved: media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor() The v4l2 helper v4l2_async_register_subdev_sensor() calls v4l2_async_register_subdev(), which is a macro that expands to __v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded inside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module rather than the sensor driver module that originally set sd->owner. When v4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then overwrites the sensor driver's owner with NULL. This causes the problem that the sensor module's reference count is never incremented during async registration, so the module can be removed while the subdevice is still in use by a notifier (e.g., a CSI-2 receiver bridge driver). Fix this by renaming v4l2_async_register_subdev_sensor() to __v4l2_async_register_subdev_sensor() with an added explicit module argument and introducing a wrapper macro: #define v4l2_async_register_subdev_sensor(sd) \ __v4l2_async_register_subdev_sensor(sd, THIS_MODULE) This ensures the sensor driver module is properly referenced even when the sensor driver does not init the owner field before calling v4l2_async_register_subdev_sensor() and prevents premature module removal.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: aef69d54755d45edefbf347a51efd1673d7daed9 , < 47ef04cd13d38010b580056a9d8840aaab944841 (git)
Affected: aef69d54755d45edefbf347a51efd1673d7daed9 , < caea6bc68c925d63ca33d21b2255f47181943d61 (git)
Affected: aef69d54755d45edefbf347a51efd1673d7daed9 , < cf9732fd6c4f2f803ccfc46d89489b6635590270 (git)
Affected: aef69d54755d45edefbf347a51efd1673d7daed9 , < 067887ff93fddbb3a3fb84c900bc654ecfe5ba61 (git)
Affected: aef69d54755d45edefbf347a51efd1673d7daed9 , < 06cb687a5132fcffe624c0070576ab852ac6b568 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.15
Unaffected: 0 , < 4.15 (semver)
Unaffected: 6.6.151 , ≤ 6.6.* (semver)
Unaffected: 6.12.101 , ≤ 6.12.* (semver)
Unaffected: 6.18.42 , ≤ 6.18.* (semver)
Unaffected: 7.1.6 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/media/v4l2-core/v4l2-fwnode.c",
            "include/media/v4l2-async.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "47ef04cd13d38010b580056a9d8840aaab944841",
              "status": "affected",
              "version": "aef69d54755d45edefbf347a51efd1673d7daed9",
              "versionType": "git"
            },
            {
              "lessThan": "caea6bc68c925d63ca33d21b2255f47181943d61",
              "status": "affected",
              "version": "aef69d54755d45edefbf347a51efd1673d7daed9",
              "versionType": "git"
            },
            {
              "lessThan": "cf9732fd6c4f2f803ccfc46d89489b6635590270",
              "status": "affected",
              "version": "aef69d54755d45edefbf347a51efd1673d7daed9",
              "versionType": "git"
            },
            {
              "lessThan": "067887ff93fddbb3a3fb84c900bc654ecfe5ba61",
              "status": "affected",
              "version": "aef69d54755d45edefbf347a51efd1673d7daed9",
              "versionType": "git"
            },
            {
              "lessThan": "06cb687a5132fcffe624c0070576ab852ac6b568",
              "status": "affected",
              "version": "aef69d54755d45edefbf347a51efd1673d7daed9",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/media/v4l2-core/v4l2-fwnode.c",
            "include/media/v4l2-async.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.15"
            },
            {
              "lessThan": "4.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.151",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.101",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.151",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.101",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.42",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.6",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()\n\nThe v4l2 helper v4l2_async_register_subdev_sensor() calls\nv4l2_async_register_subdev(), which is a macro that expands to\n__v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded\ninside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module\nrather than the sensor driver module that originally set sd-\u003eowner. When\nv4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then\noverwrites the sensor driver\u0027s owner with NULL.\n\nThis causes the problem that the sensor module\u0027s reference count is never\nincremented during async registration, so the module can be removed while\nthe subdevice is still in use by a notifier (e.g., a CSI-2 receiver\nbridge driver).\n\nFix this by renaming v4l2_async_register_subdev_sensor() to\n__v4l2_async_register_subdev_sensor() with an added explicit module\nargument and introducing a wrapper macro:\n    #define v4l2_async_register_subdev_sensor(sd) \\\n        __v4l2_async_register_subdev_sensor(sd, THIS_MODULE)\n\nThis ensures the sensor driver module is properly referenced even when\nthe sensor driver does not init the owner field before calling\nv4l2_async_register_subdev_sensor() and prevents premature module removal."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:00:49.222Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/47ef04cd13d38010b580056a9d8840aaab944841"
        },
        {
          "url": "https://git.kernel.org/stable/c/caea6bc68c925d63ca33d21b2255f47181943d61"
        },
        {
          "url": "https://git.kernel.org/stable/c/cf9732fd6c4f2f803ccfc46d89489b6635590270"
        },
        {
          "url": "https://git.kernel.org/stable/c/067887ff93fddbb3a3fb84c900bc654ecfe5ba61"
        },
        {
          "url": "https://git.kernel.org/stable/c/06cb687a5132fcffe624c0070576ab852ac6b568"
        }
      ],
      "title": "media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-68205",
    "datePublished": "2026-08-10T12:00:24.265Z",
    "dateReserved": "2026-07-30T09:28:09.374Z",
    "dateUpdated": "2026-08-17T05:00:49.222Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-68205",
      "date": "2026-08-20",
      "epss": "0.00209",
      "percentile": "0.11334"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-68205\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-10T13:20:08.140\",\"lastModified\":\"2026-08-17T05:18:22.530\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmedia: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()\\n\\nThe v4l2 helper v4l2_async_register_subdev_sensor() calls\\nv4l2_async_register_subdev(), which is a macro that expands to\\n__v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded\\ninside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module\\nrather than the sensor driver module that originally set sd-\u003eowner. When\\nv4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then\\noverwrites the sensor driver\u0027s owner with NULL.\\n\\nThis causes the problem that the sensor module\u0027s reference count is never\\nincremented during async registration, so the module can be removed while\\nthe subdevice is still in use by a notifier (e.g., a CSI-2 receiver\\nbridge driver).\\n\\nFix this by renaming v4l2_async_register_subdev_sensor() to\\n__v4l2_async_register_subdev_sensor() with an added explicit module\\nargument and introducing a wrapper macro:\\n    #define v4l2_async_register_subdev_sensor(sd) \\\\\\n        __v4l2_async_register_subdev_sensor(sd, THIS_MODULE)\\n\\nThis ensures the sensor driver module is properly referenced even when\\nthe sensor driver does not init the owner field before calling\\nv4l2_async_register_subdev_sensor() and prevents premature module removal.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/media/v4l2-core/v4l2-fwnode.c\",\"include/media/v4l2-async.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"aef69d54755d45edefbf347a51efd1673d7daed9\",\"lessThan\":\"47ef04cd13d38010b580056a9d8840aaab944841\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"aef69d54755d45edefbf347a51efd1673d7daed9\",\"lessThan\":\"caea6bc68c925d63ca33d21b2255f47181943d61\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"aef69d54755d45edefbf347a51efd1673d7daed9\",\"lessThan\":\"cf9732fd6c4f2f803ccfc46d89489b6635590270\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"aef69d54755d45edefbf347a51efd1673d7daed9\",\"lessThan\":\"067887ff93fddbb3a3fb84c900bc654ecfe5ba61\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"aef69d54755d45edefbf347a51efd1673d7daed9\",\"lessThan\":\"06cb687a5132fcffe624c0070576ab852ac6b568\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/media/v4l2-core/v4l2-fwnode.c\",\"include/media/v4l2-async.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.151\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.101\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.42\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.6\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/067887ff93fddbb3a3fb84c900bc654ecfe5ba61\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/06cb687a5132fcffe624c0070576ab852ac6b568\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/47ef04cd13d38010b580056a9d8840aaab944841\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/caea6bc68c925d63ca33d21b2255f47181943d61\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/cf9732fd6c4f2f803ccfc46d89489b6635590270\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-12T23:05:31+00:00",
      "cve": "CVE-2026-68205",
      "id": "CVE-2026-68205",
      "initial_release_date": "2026-08-10T00:00:00+00:00",
      "product_status:known_affected": "77",
      "product_status:known_not_affected": "199",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-68205.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-14T00:53:28Z",
      "cve": "CVE-2026-68205",
      "id": "CVE-2026-68205",
      "initial_release_date": "2026-08-13T16:23:06Z",
      "product_status:known_affected": "243",
      "product_status:known_not_affected": "53",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-68205",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-68205.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…