CVE-2026-74533 (GCVE-0-2026-74533)
Vulnerability from cvelistv5
Published
2026-08-15 12:27
Modified
2026-08-17 05:48
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: ISO: fix race of kfree vs kref_get_unless_zero
hci_conn::iso_data is accessed and modified without lock or RCU.
This leads to a race
[Task hdev->workqueue] [Task 2]
iso_recv iso_conn_put(conn)
conn = LOAD hcon->iso_data iso_conn_free(conn)
iso_conn_hold_unless_zero(conn) hcon->iso_data = NULL
kfree(conn)
kref_get_unless_zero(&conn->ref) /* UAF */
and also to races in iso_conn_add() vs. iso_conn_free().
Fix by adding spinlock hci_conn::proto_lock and using it to guard
hci_conn::iso_data.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"include/net/bluetooth/hci_core.h",
"net/bluetooth/hci_conn.c",
"net/bluetooth/iso.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "876a3e94c70d0859d1dad1c986112d4f0d99eba8",
"status": "affected",
"version": "dc26097bdb864a0d5955b9a25e43376ffc1af99b",
"versionType": "git"
},
{
"lessThan": "af24e338bf5dafb80f42baa9a0b9e9b57b1c5d9c",
"status": "affected",
"version": "dc26097bdb864a0d5955b9a25e43376ffc1af99b",
"versionType": "git"
},
{
"status": "affected",
"version": "f53e7489273dc2bb307bf50f319b3762d45534f0",
"versionType": "git"
},
{
"status": "affected",
"version": "a58d0f5dac322e16cc75334d000666512341bde5",
"versionType": "git"
},
{
"lessThan": "6.12",
"status": "affected",
"version": "6.11.11",
"versionType": "semver"
},
{
"lessThan": "6.13",
"status": "affected",
"version": "6.12.2",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"include/net/bluetooth/hci_core.h",
"net/bluetooth/hci_conn.c",
"net/bluetooth/iso.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.13"
},
{
"lessThan": "6.13",
"status": "unaffected",
"version": "0",
"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": "7.1.8",
"versionStartIncluding": "6.13",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "6.13",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.11.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.12.2",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: ISO: fix race of kfree vs kref_get_unless_zero\n\nhci_conn::iso_data is accessed and modified without lock or RCU.\nThis leads to a race\n\n [Task hdev-\u003eworkqueue] \t[Task 2]\n iso_recv iso_conn_put(conn)\n conn = LOAD hcon-\u003eiso_data iso_conn_free(conn)\n iso_conn_hold_unless_zero(conn) hcon-\u003eiso_data = NULL\n kfree(conn)\n kref_get_unless_zero(\u0026conn-\u003eref) /* UAF */\n\nand also to races in iso_conn_add() vs. iso_conn_free().\n\nFix by adding spinlock hci_conn::proto_lock and using it to guard\nhci_conn::iso_data."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 8.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:A - The bug is in Bluetooth ISO receive handling (iso_recv in net/bluetooth/iso.c), reached when HCI processes ISO data packets from an adjacent BLE CIS/BIS/LE Audio peer via hci_recv_frame and hdev-\u003eworkqueue; per kernel guidance Bluetooth radio reachability is Adjacent.\nAC:L - The race is between iso_recv loading hcon-\u003eiso_data and iso_conn_free kfree-ing the same iso_conn; an attacker controls both sides by concurrently sending ISO HCI data while disconnecting or closing the ISO socket, without relying on uncontrollable memory layout.\nPR:N - BTPROTO_ISO sockets require no CAP_NET_ADMIN or CAP_NET_RAW; an unprivileged local process can open and tear down ISO connections, and an adjacent Bluetooth peer can drive iso_recv and hci disconnect events without any credentials on the victim host.\nUI:N - No victim interaction is needed during exploitation of an active ISO session; a remote peer can race incoming ISO packets against link teardown, and a local attacker can close its own ISO socket while receiving data without opening files or mounts.\nS:U - The UAF corrupts kernel heap memory in the Bluetooth ISO subsystem on the host, enabling standard local privilege escalation within the kernel boundary rather than crossing VM, container, or IOMMU isolation.\nC:H - iso_conn_hold_unless_zero calls kref_get_unless_zero on a freed iso_conn slab object after iso_conn_free kfree, and iso_recv then dereferences conn fields, a classic use-after-free enabling arbitrary kernel memory disclosure.\nI:H - The UAF on iso_conn (kref, spinlock, sk_buff and socket pointers) permits heap spraying and corruption of conn-\u003erx_skb/rx_len, providing primitives chainable to arbitrary kernel writes and control-flow hijacking.\nA:H - The use-after-free in iso_conn_hold_unless_zero during concurrent iso_recv and iso_conn_put reliably causes kernel oops or panic on freed slab memory, meeting High availability impact per kernel CVSS guidance for UAF crashes."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-17T05:48:22.228Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/876a3e94c70d0859d1dad1c986112d4f0d99eba8"
},
{
"url": "https://git.kernel.org/stable/c/af24e338bf5dafb80f42baa9a0b9e9b57b1c5d9c"
}
],
"title": "Bluetooth: ISO: fix race of kfree vs kref_get_unless_zero",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74533",
"datePublished": "2026-08-15T12:27:47.219Z",
"dateReserved": "2026-08-15T05:44:03.912Z",
"dateUpdated": "2026-08-17T05:48:22.228Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…