{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-72454",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-08-09T03:40:39.932Z",
        "datePublished": "2026-08-15T05:57:01.558Z",
        "dateUpdated": "2026-08-17T05:44:23.013Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-17T05:44:23.013Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ni3c: mipi-i3c-hci: Fix race in i3c_hci_addr_to_dev()\n\ni3c_hci_addr_to_dev() walks bus->devs.i3c, which is protected by\nbus.lock (rwsem).  However, it is invoked from the MIPI I3C HCI IRQ\nhandler, which cannot take bus.lock.  This allows concurrent device\naddition/removal in the I3C core to modify the list while it is being\ntraversed, potentially leading to use-after-free or crashes.\n\nRemove the dependency on the bus device list and introduce a dedicated\nlookup table.  Add an ibi_devs[] array indexed by DAT entry, maintained\nunder hci->lock.  Update the array when IBIs are enabled or disabled,\nso that it always reflects the set of devices allowed to generate IBIs.\nAlso update when IBIs are freed, to cover the corner case when an IBI is\nfreed without first being disabled (e.g. oldedev in\ni3c_master_add_i3c_dev_locked()).\n\nMove i3c_hci_addr_to_dev() into core.c, reimplement it using the new\narray, and add a lockdep assertion to enforce that hci->lock is held\nby callers.\n\nDemote a message in PIO and DMA IBI handling, from an error to a debug\nmessage, because there is a race window when the condition can arise\nnormally."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "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"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The bug is in the MIPI I3C HCI host driver reached only from on-chip hardware IRQs plus local kernel maintenance paths (sysfs do_daa, system suspend/resume re-DAA); there is no network, Bluetooth, or remote packet path to this code.\nAC:L - The race is between the IRQ handler walking bus->devs.i3c without bus.lock and concurrent device add/remove under bus.lock during DAA; a local attacker can repeatedly trigger DAA or suspend/resume while IBI-enabled sensors generate interrupts, controlling both sides of the race.\nPR:L - Exploitation does not require real root in the init namespace; a normal local user can loop system suspend/resume (common on Intel LPSS I3C HCI laptops) to run i3c_master_do_daa_ext() while IBIs fire, though sysfs do_daa also provides a root-only trigger.\nUI:N - No victim interaction is required beyond the attacker's own automated suspend/resume or sysfs activity; IBIs from attached I3C peripherals can occur concurrently without any other user action.\nS:U - Impact is confined to kernel memory corruption and privilege escalation within the host kernel boundary; this is not a VM escape, IOMMU bypass, or cross-authority sandbox breakout.\nC:H - Concurrent list modification during an unlocked list_for_each_entry walk can return a dangling i3c_dev_desc pointer; subsequent dereferences of dev and master_data constitute a use-after-free that can leak kernel heap contents.\nI:H - The stale dev pointer is used to access dev_data, ibi_data, and IBI slot pools for further processing, enabling controlled writes into freed heap objects and potential kernel code execution via heap grooming.\nA:H - List corruption or use-after-free during IRQ handling can cause immediate kernel oops or panic; even failed exploitation attempts commonly crash the system because the bug fires in hard interrupt context."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/i3c/master/mipi-i3c-hci/core.c",
                        "drivers/i3c/master/mipi-i3c-hci/dma.c",
                        "drivers/i3c/master/mipi-i3c-hci/hci.h",
                        "drivers/i3c/master/mipi-i3c-hci/ibi.h",
                        "drivers/i3c/master/mipi-i3c-hci/pio.c"
                    ],
                    "versions": [
                        {
                            "version": "9ad9a52cce2828d932ae9495181e3d6414f72c07",
                            "lessThan": "8f851cab401c28287d536b1347d76f6e219c0db6",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "9ad9a52cce2828d932ae9495181e3d6414f72c07",
                            "lessThan": "650716f23eac488c6696babdc7805f6a6b7427ad",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/i3c/master/mipi-i3c-hci/core.c",
                        "drivers/i3c/master/mipi-i3c-hci/dma.c",
                        "drivers/i3c/master/mipi-i3c-hci/hci.h",
                        "drivers/i3c/master/mipi-i3c-hci/ibi.h",
                        "drivers/i3c/master/mipi-i3c-hci/pio.c"
                    ],
                    "versions": [
                        {
                            "version": "5.11",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.11",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.1.5",
                            "lessThanOrEqual": "7.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.2",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "7.1.5"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "7.2"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/8f851cab401c28287d536b1347d76f6e219c0db6"
                },
                {
                    "url": "https://git.kernel.org/stable/c/650716f23eac488c6696babdc7805f6a6b7427ad"
                }
            ],
            "title": "i3c: mipi-i3c-hci: Fix race in i3c_hci_addr_to_dev()",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}