CVE-2023-54210 (GCVE-0-2023-54210)
Vulnerability from cvelistv5 – Published: 2025-12-30 12:11 – Updated: 2025-12-30 12:11
VLAI?
Title
Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor()
Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor()
KASAN reports that there's a use-after-free in
hci_remove_adv_monitor(). Trawling through the disassembly, you can
see that the complaint is from the access in bt_dev_dbg() under the
HCI_ADV_MONITOR_EXT_MSFT case. The problem case happens because
msft_remove_monitor() can end up freeing the monitor
structure. Specifically:
hci_remove_adv_monitor() ->
msft_remove_monitor() ->
msft_remove_monitor_sync() ->
msft_le_cancel_monitor_advertisement_cb() ->
hci_free_adv_monitor()
Let's fix the problem by just stashing the relevant data when it's
still valid.
Severity ?
No CVSS data available.
Assigner
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Affected:
7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c , < 0d4d6b083da9b033ddccef72d77f373c819ae3ea
(git)
Affected: 7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c , < bf00c2c8f6254f44ac041aa9a311ae9e0caf692b (git) Affected: 7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c , < de6dfcefd107667ce2dbedf4d9337f5ed557a4a1 (git) |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/bluetooth/hci_core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "0d4d6b083da9b033ddccef72d77f373c819ae3ea",
"status": "affected",
"version": "7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c",
"versionType": "git"
},
{
"lessThan": "bf00c2c8f6254f44ac041aa9a311ae9e0caf692b",
"status": "affected",
"version": "7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c",
"versionType": "git"
},
{
"lessThan": "de6dfcefd107667ce2dbedf4d9337f5ed557a4a1",
"status": "affected",
"version": "7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/bluetooth/hci_core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.0"
},
{
"lessThan": "6.0",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.42",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.4.*",
"status": "unaffected",
"version": "6.4.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.5",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.42",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.4.7",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.5",
"versionStartIncluding": "6.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor()\n\nKASAN reports that there\u0027s a use-after-free in\nhci_remove_adv_monitor(). Trawling through the disassembly, you can\nsee that the complaint is from the access in bt_dev_dbg() under the\nHCI_ADV_MONITOR_EXT_MSFT case. The problem case happens because\nmsft_remove_monitor() can end up freeing the monitor\nstructure. Specifically:\n hci_remove_adv_monitor() -\u003e\n msft_remove_monitor() -\u003e\n msft_remove_monitor_sync() -\u003e\n msft_le_cancel_monitor_advertisement_cb() -\u003e\n hci_free_adv_monitor()\n\nLet\u0027s fix the problem by just stashing the relevant data when it\u0027s\nstill valid."
}
],
"providerMetadata": {
"dateUpdated": "2025-12-30T12:11:08.682Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/0d4d6b083da9b033ddccef72d77f373c819ae3ea"
},
{
"url": "https://git.kernel.org/stable/c/bf00c2c8f6254f44ac041aa9a311ae9e0caf692b"
},
{
"url": "https://git.kernel.org/stable/c/de6dfcefd107667ce2dbedf4d9337f5ed557a4a1"
}
],
"title": "Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor()",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2023-54210",
"datePublished": "2025-12-30T12:11:08.682Z",
"dateReserved": "2025-12-30T12:06:44.500Z",
"dateUpdated": "2025-12-30T12:11:08.682Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2023-54210\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-30T13:16:09.197\",\"lastModified\":\"2025-12-31T20:43:05.160\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nBluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor()\\n\\nKASAN reports that there\u0027s a use-after-free in\\nhci_remove_adv_monitor(). Trawling through the disassembly, you can\\nsee that the complaint is from the access in bt_dev_dbg() under the\\nHCI_ADV_MONITOR_EXT_MSFT case. The problem case happens because\\nmsft_remove_monitor() can end up freeing the monitor\\nstructure. Specifically:\\n hci_remove_adv_monitor() -\u003e\\n msft_remove_monitor() -\u003e\\n msft_remove_monitor_sync() -\u003e\\n msft_le_cancel_monitor_advertisement_cb() -\u003e\\n hci_free_adv_monitor()\\n\\nLet\u0027s fix the problem by just stashing the relevant data when it\u0027s\\nstill valid.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0d4d6b083da9b033ddccef72d77f373c819ae3ea\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bf00c2c8f6254f44ac041aa9a311ae9e0caf692b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/de6dfcefd107667ce2dbedf4d9337f5ed557a4a1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
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…
Loading…