GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-80680 (GCVE-0-2026-80680)

Vulnerability from cvelistv5 – Published: 2026-08-28 06:52 – Updated: 2026-08-29 06:22
VLAI
Title
i2c: amd-mp2: Unregister callback on adapter add failure
Summary
In the Linux kernel, the following vulnerability has been resolved: i2c: amd-mp2: Unregister callback on adapter add failure amd_mp2_register_cb() stores the platform I2C context in the MP2 PCI driver's callback table before the adapter is registered. If i2c_add_adapter() fails, probe returns and devres frees the context, but the PCI driver can still dereference the stale pointer from its IRQ and system-sleep callbacks. Unregister the callback before returning the adapter registration error.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 529766e0a0114438887382a68d97341fbf8349fb , < 9142a3dcff0d80a3a24ce159aee19ddc869d9784 (git)
Affected: 529766e0a0114438887382a68d97341fbf8349fb , < 2f7789b3a9628819ebf90bcba8f9da3c139f8687 (git)
Affected: 529766e0a0114438887382a68d97341fbf8349fb , < 4786d4d70dcd1e6b7e044f2348e00f201947b69c (git)
Affected: 529766e0a0114438887382a68d97341fbf8349fb , < b7c2c5c8868737926410b93d1223ada17625ead3 (git)
Affected: 529766e0a0114438887382a68d97341fbf8349fb , < cf107c5983dc70fcf932a305581a5f976d908ff1 (git)
Affected: 529766e0a0114438887382a68d97341fbf8349fb , < 1883a09a37fed497b9efacf736c23624a472246b (git)
Affected: 529766e0a0114438887382a68d97341fbf8349fb , < 8bf719659406e4a1b56d441e0c7da2085d891d96 (git)
Affected: 529766e0a0114438887382a68d97341fbf8349fb , < 82048795242f04275a3f49ffc66ad851b6120954 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.2
Unaffected: 0 , < 5.2 (semver)
Unaffected: 5.10.265 , ≤ 5.10.* (semver)
Unaffected: 5.15.216 , ≤ 5.15.* (semver)
Unaffected: 6.1.183 , ≤ 6.1.* (semver)
Unaffected: 6.6.151 , ≤ 6.6.* (semver)
Unaffected: 6.12.103 , ≤ 6.12.* (semver)
Unaffected: 6.18.44 , ≤ 6.18.* (semver)
Unaffected: 7.1.8 , ≤ 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/i2c/busses/i2c-amd-mp2-plat.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "9142a3dcff0d80a3a24ce159aee19ddc869d9784",
              "status": "affected",
              "version": "529766e0a0114438887382a68d97341fbf8349fb",
              "versionType": "git"
            },
            {
              "lessThan": "2f7789b3a9628819ebf90bcba8f9da3c139f8687",
              "status": "affected",
              "version": "529766e0a0114438887382a68d97341fbf8349fb",
              "versionType": "git"
            },
            {
              "lessThan": "4786d4d70dcd1e6b7e044f2348e00f201947b69c",
              "status": "affected",
              "version": "529766e0a0114438887382a68d97341fbf8349fb",
              "versionType": "git"
            },
            {
              "lessThan": "b7c2c5c8868737926410b93d1223ada17625ead3",
              "status": "affected",
              "version": "529766e0a0114438887382a68d97341fbf8349fb",
              "versionType": "git"
            },
            {
              "lessThan": "cf107c5983dc70fcf932a305581a5f976d908ff1",
              "status": "affected",
              "version": "529766e0a0114438887382a68d97341fbf8349fb",
              "versionType": "git"
            },
            {
              "lessThan": "1883a09a37fed497b9efacf736c23624a472246b",
              "status": "affected",
              "version": "529766e0a0114438887382a68d97341fbf8349fb",
              "versionType": "git"
            },
            {
              "lessThan": "8bf719659406e4a1b56d441e0c7da2085d891d96",
              "status": "affected",
              "version": "529766e0a0114438887382a68d97341fbf8349fb",
              "versionType": "git"
            },
            {
              "lessThan": "82048795242f04275a3f49ffc66ad851b6120954",
              "status": "affected",
              "version": "529766e0a0114438887382a68d97341fbf8349fb",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/i2c/busses/i2c-amd-mp2-plat.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.2"
            },
            {
              "lessThan": "5.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.265",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.216",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.183",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.151",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.103",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.44",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.8",
              "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": "5.10.265",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.216",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.183",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.151",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.103",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.44",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.8",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ni2c: amd-mp2: Unregister callback on adapter add failure\n\namd_mp2_register_cb() stores the platform I2C context in the MP2 PCI\ndriver\u0027s callback table before the adapter is registered. If\ni2c_add_adapter() fails, probe returns and devres frees the context,\nbut the PCI driver can still dereference the stale pointer from its IRQ\nand system-sleep callbacks.\n\nUnregister the callback before returning the adapter registration error."
        }
      ],
      "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 - The flaw is in AMD MP2 platform-driver probe teardown and PCI IRQ/system-sleep callbacks, reachable only via local suspend/resume or MP2 hardware interrupts on affected Ryzen laptops; there is no network, Bluetooth, or userspace I2C ioctl path to the stale callback table.\nAC:L - Once i2c_add_adapter() fails the dangling busses[] pointer is deterministic; an attacker can force that registration failure with memory pressure or driver rebind on modular builds, then reliably trigger the UAF through system suspend or MP2 IRQ without uncontrollable races.\nPR:L - After the flawed probe error path leaves the stale callback registered, local users can invoke system suspend via logind/systemctl without init-namespace root, and MP2 IRQs can fire from the already-enabled bus; per CNA guidance Low is used when probe/bind privilege gating is ambiguous.\nUI:N - Exploitation requires no separate victim action; the attacker triggers suspend themselves or relies on automatic MP2 hardware interrupts from an enabled bus, without needing another user to mount filesystems or open files.\nS:U - Impact is host-kernel heap corruption and privilege escalation from stale callback dereference; it does not cross VM, IOMMU, or sandbox security boundaries.\nC:H - The IRQ handler writes into freed amd_i2c_common memory and invokes cmd_completion from the stale object; this UAF provides attacker-influenced heap reuse and arbitrary kernel read primitives per kernel CNA UAF guidance.\nI:H - Suspend/resume and IRQ paths call function pointers through the freed amd_i2c_common structure, enabling control-flow hijack and heap corruption consistent with exploitable UAF write primitives.\nA:H - Stale callback dereference in IRQ or system-sleep paths causes kernel oops/panic and loss of availability; UAF heap corruption can also hang or crash affected AMD MP2 systems on every suspend or interrupt."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-29T06:22:06.613Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/9142a3dcff0d80a3a24ce159aee19ddc869d9784"
        },
        {
          "url": "https://git.kernel.org/stable/c/2f7789b3a9628819ebf90bcba8f9da3c139f8687"
        },
        {
          "url": "https://git.kernel.org/stable/c/4786d4d70dcd1e6b7e044f2348e00f201947b69c"
        },
        {
          "url": "https://git.kernel.org/stable/c/b7c2c5c8868737926410b93d1223ada17625ead3"
        },
        {
          "url": "https://git.kernel.org/stable/c/cf107c5983dc70fcf932a305581a5f976d908ff1"
        },
        {
          "url": "https://git.kernel.org/stable/c/1883a09a37fed497b9efacf736c23624a472246b"
        },
        {
          "url": "https://git.kernel.org/stable/c/8bf719659406e4a1b56d441e0c7da2085d891d96"
        },
        {
          "url": "https://git.kernel.org/stable/c/82048795242f04275a3f49ffc66ad851b6120954"
        }
      ],
      "title": "i2c: amd-mp2: Unregister callback on adapter add failure",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80680",
    "datePublished": "2026-08-28T06:52:48.300Z",
    "dateReserved": "2026-08-26T14:34:25.783Z",
    "dateUpdated": "2026-08-29T06:22:06.613Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80680",
      "date": "2026-09-15",
      "epss": "0.00129",
      "percentile": "0.02885"
    },
    "microsoft_vex": {
      "current_release_date": "2026-09-11T01:56:36.000Z",
      "cve": "CVE-2026-80680",
      "id": "msrc_CVE-2026-80680",
      "initial_release_date": "2026-08-29T01:07:01.000Z",
      "product_status:fixed": "1",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "i2c: amd-mp2: Unregister callback on adapter add failure",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-80680.json",
      "version": "2"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-80680\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-28T08:16:53.350\",\"lastModified\":\"2026-08-29T07:16:50.370\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ni2c: amd-mp2: Unregister callback on adapter add failure\\n\\namd_mp2_register_cb() stores the platform I2C context in the MP2 PCI\\ndriver\u0027s callback table before the adapter is registered. If\\ni2c_add_adapter() fails, probe returns and devres frees the context,\\nbut the PCI driver can still dereference the stale pointer from its IRQ\\nand system-sleep callbacks.\\n\\nUnregister the callback before returning the adapter registration error.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/i2c/busses/i2c-amd-mp2-plat.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"529766e0a0114438887382a68d97341fbf8349fb\",\"lessThan\":\"9142a3dcff0d80a3a24ce159aee19ddc869d9784\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"529766e0a0114438887382a68d97341fbf8349fb\",\"lessThan\":\"2f7789b3a9628819ebf90bcba8f9da3c139f8687\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"529766e0a0114438887382a68d97341fbf8349fb\",\"lessThan\":\"4786d4d70dcd1e6b7e044f2348e00f201947b69c\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"529766e0a0114438887382a68d97341fbf8349fb\",\"lessThan\":\"b7c2c5c8868737926410b93d1223ada17625ead3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"529766e0a0114438887382a68d97341fbf8349fb\",\"lessThan\":\"cf107c5983dc70fcf932a305581a5f976d908ff1\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"529766e0a0114438887382a68d97341fbf8349fb\",\"lessThan\":\"1883a09a37fed497b9efacf736c23624a472246b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"529766e0a0114438887382a68d97341fbf8349fb\",\"lessThan\":\"8bf719659406e4a1b56d441e0c7da2085d891d96\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"529766e0a0114438887382a68d97341fbf8349fb\",\"lessThan\":\"82048795242f04275a3f49ffc66ad851b6120954\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/i2c/busses/i2c-amd-mp2-plat.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.2\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.2\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.265\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.216\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.183\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.151\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.103\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.44\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.8\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"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/1883a09a37fed497b9efacf736c23624a472246b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2f7789b3a9628819ebf90bcba8f9da3c139f8687\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4786d4d70dcd1e6b7e044f2348e00f201947b69c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/82048795242f04275a3f49ffc66ad851b6120954\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8bf719659406e4a1b56d441e0c7da2085d891d96\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9142a3dcff0d80a3a24ce159aee19ddc869d9784\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b7c2c5c8868737926410b93d1223ada17625ead3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/cf107c5983dc70fcf932a305581a5f976d908ff1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-31T14:12:54+00:00",
      "cve": "CVE-2026-80680",
      "id": "CVE-2026-80680",
      "initial_release_date": "2026-08-28T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: i2c: amd-mp2: Unregister callback on adapter add failure",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80680.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-04T00:21:54Z",
      "cve": "CVE-2026-80680",
      "id": "CVE-2026-80680",
      "initial_release_date": "2026-08-28T16:34:20Z",
      "product_status:known_affected": "176",
      "product_status:known_not_affected": "177",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-80680",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-80680.json",
      "version": "5"
    }
  }
}



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…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…