138 lines
7.8 KiB
JSON
138 lines
7.8 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-74528",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2026-08-15T05:44:03.912Z",
|
|
"datePublished": "2026-08-15T12:27:44.181Z",
|
|
"dateUpdated": "2026-08-17T05:48:17.804Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-08-17T05:48:17.804Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_sync: hold conn in hci_past_sync() callback\n\nAvoids giving freed pointers to hci_conn_valid(), which kmalloc may have\nreused.\n\nHold refcount to avoid that."
|
|
}
|
|
],
|
|
"metrics": [
|
|
{
|
|
"cvssV3_1": {
|
|
"version": "3.1",
|
|
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
|
|
"baseScore": 8,
|
|
"baseSeverity": "HIGH"
|
|
},
|
|
"scenarios": [
|
|
{
|
|
"lang": "en",
|
|
"value": "AV:A - The bug is in Bluetooth LE PAST handling reached via ISO socket bind() rebind; exploitation requires an active LE connection to an adjacent peer and the freeing race is routinely won by concurrent local disconnects or a remote BLE link teardown, matching the CNA Bluetooth-adjacent threat model for phones and laptops in radio range.\nAC:L - An attacker controls both sides of the race by calling bind() to queue hci_past_sync() while concurrently closing the ISO socket or tearing down the looked-up LE link; repeated attempts can reliably free hci_conn objects before the hci_cmd_sync work callback runs without uncontrollable layout or timing dependencies.\nPR:L - Once the ISO socket layer is active (typically enabled by bluetoothd at boot), any unprivileged local user can open AF_BLUETOOTH SOCK_SEQPACKET ISO sockets and invoke the vulnerable bind() rebind path without CAP_NET_ADMIN; Bluetooth sockets are restricted to init_net and are not available through user namespaces.\nUI:N - Exploitation is driven entirely by the attacker's own socket operations and coordinated disconnects; no action by another user or administrator (pairing prompts, mounting, or opening files) is required beyond normal Bluetooth being enabled on the host.\nS:U - The use-after-free corrupts kernel heap objects and enables standard local kernel privilege escalation within the same security authority; it does not cross VM, hypervisor, or IOMMU boundaries.\nC:H - Without refcounting, freed hci_conn pointers are passed to hci_conn_valid(); if kmalloc reuses the slab for another hci_conn the check can succeed and the callback reads handle, sync_handle, and iso_qos fields from attacker-influenced freed/reused memory, giving UAF-based kernel information disclosure.\nI:H - Slab reuse of the freed hci_conn lets an attacker shape heap contents so stale pointer dereferences and subsequent HCI PAST commands operate on attacker-controlled data, providing the memory corruption and arbitrary-write primitives typical of kernel use-after-free exploitation.\nA:H - Use-after-free on hci_conn structures in hci_cmd_sync work can cause KASAN slab-use-after-free reports, kernel oopses, or panics when freed memory is reused or corrupted, and misdirected PAST HCI commands can additionally disrupt or wedge Bluetooth connectivity on the host."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "unaffected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"net/bluetooth/hci_sync.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "d3413703d5f8b7d1e6f514f9440ed5da1bc30796",
|
|
"lessThan": "e6792adef614b389141b142e30ee549e4a47dd7d",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "d3413703d5f8b7d1e6f514f9440ed5da1bc30796",
|
|
"lessThan": "abf9753edf3f88282c44a605f3945d8d4f8dd86c",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "affected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"net/bluetooth/hci_sync.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "6.19",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "6.19",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.1.8",
|
|
"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": "6.19",
|
|
"versionEndExcluding": "7.1.8"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "6.19",
|
|
"versionEndExcluding": "7.2"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/e6792adef614b389141b142e30ee549e4a47dd7d"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/abf9753edf3f88282c44a605f3945d8d4f8dd86c"
|
|
}
|
|
],
|
|
"title": "Bluetooth: hci_sync: hold conn in hci_past_sync() callback",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |