CVE-2023-54214 (GCVE-0-2023-54214)
Vulnerability from cvelistv5 – Published: 2025-12-30 12:11 – Updated: 2026-08-05 09:18
VLAI
EPSS
VEX
Title
Bluetooth: L2CAP: Fix potential user-after-free
Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: L2CAP: Fix potential user-after-free
This fixes all instances of which requires to allocate a buffer calling
alloc_skb which may release the chan lock and reacquire later which
makes it possible that the chan is disconnected in the meantime.
Severity
8.8 (High)
Assigner
References
8 references
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
a6a5568c03c4805d4d250f6bd9d468eeeb4ea059 , < b2fde8cb2a25125111f2144604e0e7c0ebcc4bba
(git)
Affected: a6a5568c03c4805d4d250f6bd9d468eeeb4ea059 , < a6a7d1541fefddf7ca0cfb34c1bff63ff809cc49 (git) Affected: a6a5568c03c4805d4d250f6bd9d468eeeb4ea059 , < 60aaccf16d1e099c16bebfb96428ae762cb528f7 (git) Affected: a6a5568c03c4805d4d250f6bd9d468eeeb4ea059 , < b8ed41cc04fb74005aa51d17865ca3d022760335 (git) Affected: a6a5568c03c4805d4d250f6bd9d468eeeb4ea059 , < 31a288a4df7f6a28e65da22a4ab2add4a963738e (git) Affected: a6a5568c03c4805d4d250f6bd9d468eeeb4ea059 , < 64e28ecf44e46de9f01915a4146706a21c3469d2 (git) Affected: a6a5568c03c4805d4d250f6bd9d468eeeb4ea059 , < 994e3e18908f5c4a12d07b44018e6aa85f071048 (git) Affected: a6a5568c03c4805d4d250f6bd9d468eeeb4ea059 , < df5703348813235874d851934e957c3723d71644 (git) |
guessed | |
| Linux | Linux |
Affected:
3.5
Unaffected: 0 , < 3.5 (semver) Unaffected: 4.14.308 , ≤ 4.14.* (semver) Unaffected: 4.19.276 , ≤ 4.19.* (semver) Unaffected: 5.4.235 , ≤ 5.4.* (semver) Unaffected: 5.10.173 , ≤ 5.10.* (semver) Unaffected: 5.15.99 , ≤ 5.15.* (semver) Unaffected: 6.1.16 , ≤ 6.1.* (semver) Unaffected: 6.2.3 , ≤ 6.2.* (semver) Unaffected: 6.3 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/bluetooth/l2cap_core.c",
"net/bluetooth/l2cap_sock.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "b2fde8cb2a25125111f2144604e0e7c0ebcc4bba",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "a6a7d1541fefddf7ca0cfb34c1bff63ff809cc49",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "60aaccf16d1e099c16bebfb96428ae762cb528f7",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "b8ed41cc04fb74005aa51d17865ca3d022760335",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "31a288a4df7f6a28e65da22a4ab2add4a963738e",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "64e28ecf44e46de9f01915a4146706a21c3469d2",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "994e3e18908f5c4a12d07b44018e6aa85f071048",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "df5703348813235874d851934e957c3723d71644",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/bluetooth/l2cap_core.c",
"net/bluetooth/l2cap_sock.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "3.5"
},
{
"lessThan": "3.5",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"version": "4.14.308",
"versionType": "semver"
},
{
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"version": "4.19.276",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.235",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.173",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.99",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.16",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.2.*",
"status": "unaffected",
"version": "6.2.3",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.3",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "4.14.308",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "4.19.276",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.4.235",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.173",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.99",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.16",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.2.3",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.3",
"versionStartIncluding": "3.5",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix potential user-after-free\n\nThis fixes all instances of which requires to allocate a buffer calling\nalloc_skb which may release the chan lock and reacquire later which\nmakes it possible that the chan is disconnected in the meantime."
}
],
"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 vulnerable window is opened and closed by a remote Bluetooth peer over an L2CAP/RFCOMM/LE CoC connection, which requires only radio proximity to the target. Per kernel scoring convention Bluetooth-reachable bugs are Adjacent.\nAC:L - The attacker controls both sides of the race: withholding L2CAP credits (or ACL buffers) parks the sender in the blocking `bt_skb_send_alloc()` with the chan lock released for an unbounded time, and the attacker then terminates the link to run `l2cap_conn_del()`/`kfree(conn)` inside that window. This makes the race deterministic rather than dependent on timing luck.\nPR:N - No local account and no privileges are needed \u2014 the sending side is the kernel\u0027s own RFCOMM session or a system Bluetooth daemon, and L2CAP/LE CoC channels at BT_SECURITY_LOW accept connections without pairing or authentication. The attacker is purely an unauthenticated adjacent device.\nUI:N - Exploitation needs only a connectable/discoverable target or an already-established profile connection; the freed-conn dereference happens entirely within normal send and link-teardown handling. No victim action is required.\nS:U - The corruption and its consequences are confined to the kernel\u0027s own security authority, with no crossing of a VM, IOMMU, or sandbox boundary. This is a standard in-kernel memory-safety issue.\nC:H - This is a use-after-free read of a freed `struct l2cap_conn` slab object whose contents the attacker can influence by reclaiming the slot with heap spray, and the value read (`conn-\u003emtu`) feeds fragment sizing and copy loops. UAF of an attacker-groomable object is treated as enabling arbitrary read.\nI:H - The dangling `l2cap_conn` is used to drive skb allocation and fragmentation while the freed slab is attacker-reclaimable, giving heap-grooming leverage over subsequent kernel allocations and control-flow-relevant state. Per kernel guidance a use-after-free is scored as exploitable for arbitrary write/control-flow hijack.\nA:H - The freed-object read reliably oopses under any hardening (KASAN/slab poisoning) and, when the reclaimed `conn-\u003emtu` reads as 0, `count` becomes 0 so `len` never decreases \u2014 an infinite skb-allocation loop causing hang and memory exhaustion. Either outcome is a full denial of service."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T09:18:06.231Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/b2fde8cb2a25125111f2144604e0e7c0ebcc4bba"
},
{
"url": "https://git.kernel.org/stable/c/a6a7d1541fefddf7ca0cfb34c1bff63ff809cc49"
},
{
"url": "https://git.kernel.org/stable/c/60aaccf16d1e099c16bebfb96428ae762cb528f7"
},
{
"url": "https://git.kernel.org/stable/c/b8ed41cc04fb74005aa51d17865ca3d022760335"
},
{
"url": "https://git.kernel.org/stable/c/31a288a4df7f6a28e65da22a4ab2add4a963738e"
},
{
"url": "https://git.kernel.org/stable/c/64e28ecf44e46de9f01915a4146706a21c3469d2"
},
{
"url": "https://git.kernel.org/stable/c/994e3e18908f5c4a12d07b44018e6aa85f071048"
},
{
"url": "https://git.kernel.org/stable/c/df5703348813235874d851934e957c3723d71644"
}
],
"title": "Bluetooth: L2CAP: Fix potential user-after-free",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2023-54214",
"datePublished": "2025-12-30T12:11:11.383Z",
"dateReserved": "2025-12-30T12:06:44.500Z",
"dateUpdated": "2026-08-05T09:18:06.231Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2023-54214",
"date": "2026-09-26",
"epss": "0.00298",
"percentile": "0.20117"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/bluetooth/l2cap_core.c",
"net/bluetooth/l2cap_sock.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "b2fde8cb2a25125111f2144604e0e7c0ebcc4bba",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "a6a7d1541fefddf7ca0cfb34c1bff63ff809cc49",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "60aaccf16d1e099c16bebfb96428ae762cb528f7",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "b8ed41cc04fb74005aa51d17865ca3d022760335",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "31a288a4df7f6a28e65da22a4ab2add4a963738e",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "64e28ecf44e46de9f01915a4146706a21c3469d2",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "994e3e18908f5c4a12d07b44018e6aa85f071048",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
},
{
"lessThan": "df5703348813235874d851934e957c3723d71644",
"status": "affected",
"version": "a6a5568c03c4805d4d250f6bd9d468eeeb4ea059",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/bluetooth/l2cap_core.c",
"net/bluetooth/l2cap_sock.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "3.5"
},
{
"lessThan": "3.5",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"version": "4.14.308",
"versionType": "semver"
},
{
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"version": "4.19.276",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.235",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.173",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.99",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.16",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.2.*",
"status": "unaffected",
"version": "6.2.3",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.3",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix potential user-after-free\n\nThis fixes all instances of which requires to allocate a buffer calling\nalloc_skb which may release the chan lock and reacquire later which\nmakes it possible that the chan is disconnected in the meantime."
}
],
"id": "CVE-2023-54214",
"lastModified": "2026-08-04T11:16:36.980",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "ADJACENT_NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 2.8,
"impactScore": 5.9,
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
}
]
},
"published": "2025-12-30T13:16:09.633",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/31a288a4df7f6a28e65da22a4ab2add4a963738e"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/60aaccf16d1e099c16bebfb96428ae762cb528f7"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/64e28ecf44e46de9f01915a4146706a21c3469d2"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/994e3e18908f5c4a12d07b44018e6aa85f071048"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/a6a7d1541fefddf7ca0cfb34c1bff63ff809cc49"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/b2fde8cb2a25125111f2144604e0e7c0ebcc4bba"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/b8ed41cc04fb74005aa51d17865ca3d022760335"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/df5703348813235874d851934e957c3723d71644"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Deferred"
}
},
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-09-23T03:34:43+00:00",
"cve": "CVE-2023-54214",
"id": "CVE-2023-54214",
"initial_release_date": "2023-01-01T00:00:00+00:00",
"product_status:fixed": "429",
"product_status:known_affected": "50",
"product_status:known_not_affected": "90",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: Bluetooth: L2CAP: Fix potential user-after-free",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-54214.json",
"version": "3"
},
"suse_vex": {
"aggregate_severity": "moderate",
"current_release_date": "2026-09-01T01:15:00Z",
"cve": "CVE-2023-54214",
"id": "CVE-2023-54214",
"initial_release_date": "2025-12-31T00:28:21Z",
"product_status:known_affected": "548",
"product_status:known_not_affected": "178",
"product_status:recommended": "262",
"source": "SUSE CSAF VEX",
"status": "interim",
"title": "SUSE CVE CVE-2023-54214",
"url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2023-54214.json",
"version": "25"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
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…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.
Loading…