Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating The usage of rcu_read_(un)lock while inside list_for_each_entry_rcu is not safe since for the most part entries fetched this way shall be treated as rcu_dereference: Note that the value returned by rcu_dereference() is valid only within the enclosing RCU read-side critical section [1]_. For example, the following is **not** legal:: rcu_read_lock(); p = rcu_dereference(head.next); rcu_read_unlock(); x = p->address; /* BUG!!! */ rcu_read_lock(); y = p->data; /* BUG!!! */ rcu_read_unlock();
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.12.6, 6.6.67
- CVEs
- CVE-2024-56654
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 03:45 UTC · Revision 1
Source evidence
Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating
core-osv · Original sourcePublished 27 Dec 2024, 15:06 UTC
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating The usage of rcu_read_(un)lock while inside list_for_each_entry_rcu is not safe since for the most part entries fetched this way shall be treated as rcu_dereference: Note that the value returned by rcu_dereference() is valid only within the enclosing RCU read-side critical section [1]_. For example, the following is **not** legal:: rcu_read_lock(); p = rcu_dereference(head.next); rcu_read_unlock(); x = p->address; /* BUG!!! */ rcu_read_lock(); y = p->data; /* BUG!!! */ rcu_read_unlock();
osv:CVE-2024-56654
Kernel
Fixed versions: 6.6.67, 6.12.6
Complete source record
{
"id": "b9ba837eae4f3a4f47c04fe97918cb57723538c4bf66b68aded80f599a82fa85",
"url": "https://osv.dev/vulnerability/CVE-2024-56654",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating",
"summary": "In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating The usage of rcu_read_(un)lock while inside list_for_each_entry_rcu is not safe since for the most part entries fetched this way shall be treated as rcu_dereference: Note that the value returned by rcu_dereference() is valid only within the enclosing RCU read-side critical section [1]_. For example, the following is **not** legal:: rcu_read_lock(); p = rcu_dereference(head.next); rcu_read_unlock(); x = p->address; /* BUG!!! */ rcu_read_lock(); y = p->data; /* BUG!!! */ rcu_read_unlock();",
"evidence": "osv:CVE-2024-56654",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.6.67",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.6",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2024-56654",
"aliases": [
"CVE-2024-56654"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "a0bfde167b506423111ddb8cd71930497a40fc54"
},
{
"fixed": "0108132d7d76d884e443d18b4f067cdf2811911b"
},
{
"fixed": "f9ecc90b5d501b3a5a62d0685d5104f934bb0104"
},
{
"fixed": "581dd2dc168fe0ed2a7a5534a724f0d3751c93ae"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.4.16"
},
{
"fixed": "6.5"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.5.3"
},
{
"fixed": "6.6"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "b475c1109251e30ec21fb574d72a1c71a4ab0039"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "2ccde10127447c1a5caad8469fede945bdb62fdf"
}
]
}
],
"versions": [
"v6.4.16",
"v6.5.13",
"v6.5.12",
"v6.5.11",
"v6.5.10",
"v6.5.9",
"v6.5.8",
"v6.5.7",
"v6.5.6",
"v6.5.5",
"v6.5.4",
"v6.5.3"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-56654.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.6.0"
},
{
"fixed": "6.6.67"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.6"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-56654.json"
}
}
],
"modified": "2026-10-28T02:30:25.981082949Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/0108132d7d76d884e443d18b4f067cdf2811911b",
"https://git.kernel.org/stable/c/581dd2dc168fe0ed2a7a5534a724f0d3751c93ae",
"https://git.kernel.org/stable/c/f9ecc90b5d501b3a5a62d0685d5104f934bb0104",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/56xxx/CVE-2024-56654.json",
"https://nvd.nist.gov/vuln/detail/CVE-2024-56654",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/56xxx/CVE-2024-56654.json"
}
},
"related_cves": [
{
"value": "CVE-2024-56654",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 492257,
"published_at": "2024-12-27T15:06:18.224+00:00"
}