CVE-2026-64279 (GCVE-0-2026-64279)

Vulnerability from cvelistv5 – Published: 2026-07-25 08:49 – Updated: 2026-08-05 12:40
VLAI
Title
i2c: core: fix adapter deregistration race
Summary
In the Linux kernel, the following vulnerability has been resolved: i2c: core: fix adapter deregistration race Adapters can be looked up by their id using i2c_get_adapter() which takes a reference to the embedded struct device. Remove the adapter from the IDR before tearing it down during deregistration (and on registration failure) to make sure its resources are not accessed after having been freed (e.g. the device name).
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 35fc37f8188177e3ba3e7f99a6e3300e490e9181 , < d39282f552dd6c35b9b84b4af78f1198c24f3373 (git)
Affected: 35fc37f8188177e3ba3e7f99a6e3300e490e9181 , < 11dfa37bf544cc806f21742ca2fd2d841bd7032e (git)
Affected: 35fc37f8188177e3ba3e7f99a6e3300e490e9181 , < 9882a9bd74db08e7bae5821a7050627ae92d3380 (git)
Affected: 35fc37f8188177e3ba3e7f99a6e3300e490e9181 , < bb234487a447a99315add1b46aa57b72e163e1eb (git)
Affected: 35fc37f8188177e3ba3e7f99a6e3300e490e9181 , < b6d2af6fe9c1f5ec0484536753c979cbd40a8ac3 (git)
Affected: 35fc37f8188177e3ba3e7f99a6e3300e490e9181 , < 35dbd1f1f603401155cbd3a180bb18e3a3b675b8 (git)
Affected: 35fc37f8188177e3ba3e7f99a6e3300e490e9181 , < b1a58ed9eab146b36f41a55db8f5d7ce9fdedf3f (git)
Create a notification for this product.
Linux Linux Affected: 2.6.31
Unaffected: 0 , < 2.6.31 (semver)
Unaffected: 5.15.212 , ≤ 5.15.* (semver)
Unaffected: 6.1.178 , ≤ 6.1.* (semver)
Unaffected: 6.6.145 , ≤ 6.6.* (semver)
Unaffected: 6.12.96 , ≤ 6.12.* (semver)
Unaffected: 6.18.39 , ≤ 6.18.* (semver)
Unaffected: 7.1.4 , ≤ 7.1.* (semver)
Unaffected: 7.2-rc1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/i2c/i2c-core-base.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d39282f552dd6c35b9b84b4af78f1198c24f3373",
              "status": "affected",
              "version": "35fc37f8188177e3ba3e7f99a6e3300e490e9181",
              "versionType": "git"
            },
            {
              "lessThan": "11dfa37bf544cc806f21742ca2fd2d841bd7032e",
              "status": "affected",
              "version": "35fc37f8188177e3ba3e7f99a6e3300e490e9181",
              "versionType": "git"
            },
            {
              "lessThan": "9882a9bd74db08e7bae5821a7050627ae92d3380",
              "status": "affected",
              "version": "35fc37f8188177e3ba3e7f99a6e3300e490e9181",
              "versionType": "git"
            },
            {
              "lessThan": "bb234487a447a99315add1b46aa57b72e163e1eb",
              "status": "affected",
              "version": "35fc37f8188177e3ba3e7f99a6e3300e490e9181",
              "versionType": "git"
            },
            {
              "lessThan": "b6d2af6fe9c1f5ec0484536753c979cbd40a8ac3",
              "status": "affected",
              "version": "35fc37f8188177e3ba3e7f99a6e3300e490e9181",
              "versionType": "git"
            },
            {
              "lessThan": "35dbd1f1f603401155cbd3a180bb18e3a3b675b8",
              "status": "affected",
              "version": "35fc37f8188177e3ba3e7f99a6e3300e490e9181",
              "versionType": "git"
            },
            {
              "lessThan": "b1a58ed9eab146b36f41a55db8f5d7ce9fdedf3f",
              "status": "affected",
              "version": "35fc37f8188177e3ba3e7f99a6e3300e490e9181",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/i2c/i2c-core-base.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.31"
            },
            {
              "lessThan": "2.6.31",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.212",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.96",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.39",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.212",
                  "versionStartIncluding": "2.6.31",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.178",
                  "versionStartIncluding": "2.6.31",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "2.6.31",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.96",
                  "versionStartIncluding": "2.6.31",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.39",
                  "versionStartIncluding": "2.6.31",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.4",
                  "versionStartIncluding": "2.6.31",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2-rc1",
                  "versionStartIncluding": "2.6.31",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ni2c: core: fix adapter deregistration race\n\nAdapters can be looked up by their id using i2c_get_adapter() which\ntakes a reference to the embedded struct device.\n\nRemove the adapter from the IDR before tearing it down during\nderegistration (and on registration failure) to make sure its resources\nare not accessed after having been freed (e.g. the device name)."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - An attacker reaches the vulnerable lookup through local open/openat calls on /dev/i2c-N and can trigger dynamic-adapter teardown through local usbfs ioctls. No network path directly reaches i2c_get_adapter().\nAC:L - An attacker with access to both device nodes can control both sides by racing parallel I2C opens against repeatable USBDEVFS_DISCONNECT and rebind operations. No victim-controlled timing or uncontrollable condition is required.\nPR:L - i2cdev_open() and the usbfs disconnect path impose device-node DAC, LSM, and device-cgroup checks but no capability requirement. A regular user granted I2C and USB-device access can trigger the race without init-namespace root.\nUI:N - The attacker can initiate the adapter lookup, software disconnect, and subsequent stale-adapter operations directly. No separate victim action is required.\nS:U - Exploitation corrupts or executes code within the same host kernel security authority. This is ordinary local kernel privilege escalation rather than a VM, IOMMU, or other scope-boundary escape.\nC:H - The race can return an adapter after its embedded device resources have been released, followed by freeing of the enclosing dynamic-adapter allocation. Reclaiming this heap object permits attacker-influenced pointer dereferences and potential arbitrary kernel-memory disclosure.\nI:H - The stale adapter contains algorithm and locking function pointers, while I2C ioctls also write mutable adapter fields. Heap reclamation can therefore provide memory-corruption and control-flow-hijacking primitives leading to kernel code execution.\nA:H - Refcount resurrection, stale device-resource accesses, and dereferences through a freed adapter can produce kernel warnings, oopses, or panics. An attacker controlling disconnect and rebind can repeat the trigger."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:40:30.028Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d39282f552dd6c35b9b84b4af78f1198c24f3373"
        },
        {
          "url": "https://git.kernel.org/stable/c/11dfa37bf544cc806f21742ca2fd2d841bd7032e"
        },
        {
          "url": "https://git.kernel.org/stable/c/9882a9bd74db08e7bae5821a7050627ae92d3380"
        },
        {
          "url": "https://git.kernel.org/stable/c/bb234487a447a99315add1b46aa57b72e163e1eb"
        },
        {
          "url": "https://git.kernel.org/stable/c/b6d2af6fe9c1f5ec0484536753c979cbd40a8ac3"
        },
        {
          "url": "https://git.kernel.org/stable/c/35dbd1f1f603401155cbd3a180bb18e3a3b675b8"
        },
        {
          "url": "https://git.kernel.org/stable/c/b1a58ed9eab146b36f41a55db8f5d7ce9fdedf3f"
        }
      ],
      "title": "i2c: core: fix adapter deregistration race",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64279",
    "datePublished": "2026-07-25T08:49:23.145Z",
    "dateReserved": "2026-07-19T15:36:31.777Z",
    "dateUpdated": "2026-08-05T12:40:30.028Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64279",
      "date": "2026-08-09",
      "epss": "0.00164",
      "percentile": "0.06013"
    },
    "microsoft_vex": {
      "current_release_date": "2026-07-27T14:50:26.000Z",
      "cve": "CVE-2026-64279",
      "id": "msrc_CVE-2026-64279",
      "initial_release_date": "2026-07-26T01:08:13.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "i2c: core: fix adapter deregistration race",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-64279.json",
      "version": "2"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-64279\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-25T10:17:08.437\",\"lastModified\":\"2026-07-30T15:00:27.343\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ni2c: core: fix adapter deregistration race\\n\\nAdapters can be looked up by their id using i2c_get_adapter() which\\ntakes a reference to the embedded struct device.\\n\\nRemove the adapter from the IDR before tearing it down during\\nderegistration (and on registration failure) to make sure its resources\\nare not accessed after having been freed (e.g. the device name).\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/i2c/i2c-core-base.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"35fc37f8188177e3ba3e7f99a6e3300e490e9181\",\"lessThan\":\"d39282f552dd6c35b9b84b4af78f1198c24f3373\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"35fc37f8188177e3ba3e7f99a6e3300e490e9181\",\"lessThan\":\"11dfa37bf544cc806f21742ca2fd2d841bd7032e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"35fc37f8188177e3ba3e7f99a6e3300e490e9181\",\"lessThan\":\"9882a9bd74db08e7bae5821a7050627ae92d3380\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"35fc37f8188177e3ba3e7f99a6e3300e490e9181\",\"lessThan\":\"bb234487a447a99315add1b46aa57b72e163e1eb\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"35fc37f8188177e3ba3e7f99a6e3300e490e9181\",\"lessThan\":\"b6d2af6fe9c1f5ec0484536753c979cbd40a8ac3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"35fc37f8188177e3ba3e7f99a6e3300e490e9181\",\"lessThan\":\"35dbd1f1f603401155cbd3a180bb18e3a3b675b8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"35fc37f8188177e3ba3e7f99a6e3300e490e9181\",\"lessThan\":\"b1a58ed9eab146b36f41a55db8f5d7ce9fdedf3f\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/i2c/i2c-core-base.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"2.6.31\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"2.6.31\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.212\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.178\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.145\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.96\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.39\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.4\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2-rc1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/11dfa37bf544cc806f21742ca2fd2d841bd7032e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/35dbd1f1f603401155cbd3a180bb18e3a3b675b8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9882a9bd74db08e7bae5821a7050627ae92d3380\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b1a58ed9eab146b36f41a55db8f5d7ce9fdedf3f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b6d2af6fe9c1f5ec0484536753c979cbd40a8ac3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bb234487a447a99315add1b46aa57b72e163e1eb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d39282f552dd6c35b9b84b4af78f1198c24f3373\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-29T14:52:50+00:00",
      "cve": "CVE-2026-64279",
      "id": "CVE-2026-64279",
      "initial_release_date": "2026-07-25T00:00:00+00:00",
      "product_status:known_affected": "232",
      "product_status:known_not_affected": "43",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: i2c: core: fix adapter deregistration race",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64279.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…