{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-35856", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-05-17T13:50:33.106Z", "datePublished": "2024-05-17T14:47:32.088Z", "dateUpdated": "2026-08-05T11:30:20.835Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:30:20.835Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: btusb: mediatek: Fix double free of skb in coredump\n\nhci_devcd_append() would free the skb on error so the caller don't\nhave to free it again otherwise it would cause the double free of skb.\n\nReported-by : Dan Carpenter " } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:A - The vulnerable code is only reached by processing firmware-coredump ACL packets (handle 0xfc6f) emitted by the MediaTek Bluetooth controller, and that packet stream is induced by an attacker within Bluetooth radio range crashing the controller firmware with malformed over-the-air frames. This is the standard Bluetooth adjacent-network attack surface, not a local syscall interface.\nAC:L - The attacker fully controls the trigger (coredump packet stream) and can repeat it without limit, and the driver's own btmtk_reset_sync()/re-setup cycle after each coredump regenerates the window in which hci_devcd_append() takes its skb-consuming error path. An attack that can simply be retried until it lands is Low complexity under CVSS 3.1.\nPR:N - No credentials or privileges on the target host are required — the path is driven by controller RX data with no capability check, and the over-the-air frames that assert MediaTek BT firmware are processed at baseband/LMP level before any pairing or authentication.\nUI:N - No victim action is needed; the packets are consumed automatically by the btusb URB completion handler on any system with Bluetooth enabled.\nS:U - The double free corrupts kernel slab memory and its impact is confined to the kernel's own security authority, with no crossing of a VM, IOMMU, or sandbox boundary.\nC:H - A double free of an sk_buff yields a use-after-free on a reallocated slab object, letting the attacker groom the freed slot and read back kernel memory contents through the still-referenced structure.\nI:H - The second kfree_skb() decrements a refcount inside freed memory and re-frees a slot that may already hold a live object, giving a heap-corruption/arbitrary-write primitive exploitable for control-flow hijacking.\nA:H - Double frees trigger immediate slab corruption, refcount underflow warnings, and kernel panics (BUG on freelist corruption) even when not weaponized, and the attacker can repeat the firmware crash to force it." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/bluetooth/btmtk.c" ], "versions": [ { "version": "0b70151328781a89c89e4cf3fae21fc0e98d869e", "lessThan": "80dfef128cb9f1b1ef67c0fe8c8deb4ea7ad30c1", "status": "affected", "versionType": "git" }, { "version": "0b70151328781a89c89e4cf3fae21fc0e98d869e", "lessThan": "e20093c741d8da9f6390dd45d75b779861547035", "status": "affected", "versionType": "git" }, { "version": "0b70151328781a89c89e4cf3fae21fc0e98d869e", "lessThan": "18bdb386a1a30e7a3d7732a98e45e69cf6b5710d", "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/bluetooth/btmtk.c" ], "versions": [ { "version": "6.6", "status": "affected" }, { "version": "0", "lessThan": "6.6", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.30", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.8.9", "lessThanOrEqual": "6.8.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.9", "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.6", "versionEndExcluding": "6.6.30" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.6", "versionEndExcluding": "6.8.9" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.6", "versionEndExcluding": "6.9" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/80dfef128cb9f1b1ef67c0fe8c8deb4ea7ad30c1" }, { "url": "https://git.kernel.org/stable/c/e20093c741d8da9f6390dd45d75b779861547035" }, { "url": "https://git.kernel.org/stable/c/18bdb386a1a30e7a3d7732a98e45e69cf6b5710d" } ], "title": "Bluetooth: btusb: mediatek: Fix double free of skb in coredump", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2024-06-17T17:38:58.204895Z", "id": "CVE-2024-35856", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2024-06-17T17:42:07.040Z" } }, { "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2024-08-02T03:21:48.401Z" }, "title": "CVE Program Container", "references": [ { "url": "https://git.kernel.org/stable/c/80dfef128cb9f1b1ef67c0fe8c8deb4ea7ad30c1", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/e20093c741d8da9f6390dd45d75b779861547035", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/18bdb386a1a30e7a3d7732a98e45e69cf6b5710d", "tags": [ "x_transferred" ] } ] } ] } }