CVE-2026-43119 (GCVE-0-2026-43119)
Vulnerability from cvelistv5 – Published: 2026-05-06 07:40 – Updated: 2026-05-07 17:14
VLAI?
Title
Bluetooth: hci_sync: annotate data-races around hdev->req_status
Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_sync: annotate data-races around hdev->req_status
__hci_cmd_sync_sk() sets hdev->req_status under hdev->req_lock:
hdev->req_status = HCI_REQ_PEND;
However, several other functions read or write hdev->req_status without
holding any lock:
- hci_send_cmd_sync() reads req_status in hci_cmd_work (workqueue)
- hci_cmd_sync_complete() reads/writes from HCI event completion
- hci_cmd_sync_cancel() / hci_cmd_sync_cancel_sync() read/write
- hci_abort_conn() reads in connection abort path
Since __hci_cmd_sync_sk() runs on hdev->req_workqueue while
hci_send_cmd_sync() runs on hdev->workqueue, these are different
workqueues that can execute concurrently on different CPUs. The plain
C accesses constitute a data race.
Add READ_ONCE()/WRITE_ONCE() annotations on all concurrent accesses
to hdev->req_status to prevent potential compiler optimizations that
could affect correctness (e.g., load fusing in the wait_event
condition or store reordering).
Severity ?
No CVSS data available.
Assigner
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Affected:
f80c5dad7b6467b884c445ffea45985793b4b2d0 , < 6e539907c0d11f514c5e0b049b27b04dff48a5b1
(git)
Affected: f80c5dad7b6467b884c445ffea45985793b4b2d0 , < a7a1cdb4a64ca74eb95cc46648fccb8cd3f9af27 (git) Affected: f80c5dad7b6467b884c445ffea45985793b4b2d0 , < 40734ce8efc34c4a0d0222855798c0dc14b65f2e (git) Affected: f80c5dad7b6467b884c445ffea45985793b4b2d0 , < b6807cfc195ef99e1ac37b2e1e60df40295daa8c (git) Affected: 8603d49906b231bbcd9141db7d096fa1041bc379 (git) Affected: 0e061885bfcd65ef5d09f154f3c3c3491cc7544a (git) Affected: a3d50fb7ce931f08a2c6194fdc4c9a56c9ed4153 (git) |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/bluetooth/hci_conn.c",
"net/bluetooth/hci_core.c",
"net/bluetooth/hci_sync.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "6e539907c0d11f514c5e0b049b27b04dff48a5b1",
"status": "affected",
"version": "f80c5dad7b6467b884c445ffea45985793b4b2d0",
"versionType": "git"
},
{
"lessThan": "a7a1cdb4a64ca74eb95cc46648fccb8cd3f9af27",
"status": "affected",
"version": "f80c5dad7b6467b884c445ffea45985793b4b2d0",
"versionType": "git"
},
{
"lessThan": "40734ce8efc34c4a0d0222855798c0dc14b65f2e",
"status": "affected",
"version": "f80c5dad7b6467b884c445ffea45985793b4b2d0",
"versionType": "git"
},
{
"lessThan": "b6807cfc195ef99e1ac37b2e1e60df40295daa8c",
"status": "affected",
"version": "f80c5dad7b6467b884c445ffea45985793b4b2d0",
"versionType": "git"
},
{
"status": "affected",
"version": "8603d49906b231bbcd9141db7d096fa1041bc379",
"versionType": "git"
},
{
"status": "affected",
"version": "0e061885bfcd65ef5d09f154f3c3c3491cc7544a",
"versionType": "git"
},
{
"status": "affected",
"version": "a3d50fb7ce931f08a2c6194fdc4c9a56c9ed4153",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/bluetooth/hci_conn.c",
"net/bluetooth/hci_core.c",
"net/bluetooth/hci_sync.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.2"
},
{
"lessThan": "5.2",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.83",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.24",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.19.*",
"status": "unaffected",
"version": "6.19.14",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.0",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.83",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.24",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.19.14",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.0",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.19.47",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.0.20",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.1.6",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_sync: annotate data-races around hdev-\u003ereq_status\n\n__hci_cmd_sync_sk() sets hdev-\u003ereq_status under hdev-\u003ereq_lock:\n\n hdev-\u003ereq_status = HCI_REQ_PEND;\n\nHowever, several other functions read or write hdev-\u003ereq_status without\nholding any lock:\n\n - hci_send_cmd_sync() reads req_status in hci_cmd_work (workqueue)\n - hci_cmd_sync_complete() reads/writes from HCI event completion\n - hci_cmd_sync_cancel() / hci_cmd_sync_cancel_sync() read/write\n - hci_abort_conn() reads in connection abort path\n\nSince __hci_cmd_sync_sk() runs on hdev-\u003ereq_workqueue while\nhci_send_cmd_sync() runs on hdev-\u003eworkqueue, these are different\nworkqueues that can execute concurrently on different CPUs. The plain\nC accesses constitute a data race.\n\nAdd READ_ONCE()/WRITE_ONCE() annotations on all concurrent accesses\nto hdev-\u003ereq_status to prevent potential compiler optimizations that\ncould affect correctness (e.g., load fusing in the wait_event\ncondition or store reordering)."
}
],
"providerMetadata": {
"dateUpdated": "2026-05-07T17:14:14.525Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/6e539907c0d11f514c5e0b049b27b04dff48a5b1"
},
{
"url": "https://git.kernel.org/stable/c/a7a1cdb4a64ca74eb95cc46648fccb8cd3f9af27"
},
{
"url": "https://git.kernel.org/stable/c/40734ce8efc34c4a0d0222855798c0dc14b65f2e"
},
{
"url": "https://git.kernel.org/stable/c/b6807cfc195ef99e1ac37b2e1e60df40295daa8c"
}
],
"title": "Bluetooth: hci_sync: annotate data-races around hdev-\u003ereq_status",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-43119",
"datePublished": "2026-05-06T07:40:43.257Z",
"dateReserved": "2026-05-01T14:12:55.987Z",
"dateUpdated": "2026-05-07T17:14:14.525Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-43119",
"date": "2026-05-10",
"epss": "0.00018",
"percentile": "0.04739"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-43119\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-05-06T10:16:25.773\",\"lastModified\":\"2026-05-06T13:07:51.607\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nBluetooth: hci_sync: annotate data-races around hdev-\u003ereq_status\\n\\n__hci_cmd_sync_sk() sets hdev-\u003ereq_status under hdev-\u003ereq_lock:\\n\\n hdev-\u003ereq_status = HCI_REQ_PEND;\\n\\nHowever, several other functions read or write hdev-\u003ereq_status without\\nholding any lock:\\n\\n - hci_send_cmd_sync() reads req_status in hci_cmd_work (workqueue)\\n - hci_cmd_sync_complete() reads/writes from HCI event completion\\n - hci_cmd_sync_cancel() / hci_cmd_sync_cancel_sync() read/write\\n - hci_abort_conn() reads in connection abort path\\n\\nSince __hci_cmd_sync_sk() runs on hdev-\u003ereq_workqueue while\\nhci_send_cmd_sync() runs on hdev-\u003eworkqueue, these are different\\nworkqueues that can execute concurrently on different CPUs. The plain\\nC accesses constitute a data race.\\n\\nAdd READ_ONCE()/WRITE_ONCE() annotations on all concurrent accesses\\nto hdev-\u003ereq_status to prevent potential compiler optimizations that\\ncould affect correctness (e.g., load fusing in the wait_event\\ncondition or store reordering).\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/40734ce8efc34c4a0d0222855798c0dc14b65f2e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6e539907c0d11f514c5e0b049b27b04dff48a5b1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a7a1cdb4a64ca74eb95cc46648fccb8cd3f9af27\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b6807cfc195ef99e1ac37b2e1e60df40295daa8c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
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…