Linux Kernel up to 7.2-rc2 Bluetooth L2CAP l2cap_get_conf_opt len/val out-of-bounds

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.2 | $0-$5k | 2.33- |
Summary
A vulnerability classified as critical has been found in Linux Kernel up to 7.2-rc2. This affects the function l2cap_get_conf_opt of the component Bluetooth L2CAP. Performing a manipulation of the argument len/val results in out-of-bounds.
This vulnerability was named CVE-2026-64403. The attack may be initiated remotely. There is no available exploit.
Details
A vulnerability classified as critical has been found in Linux Kernel up to 7.2-rc2. This affects the function l2cap_get_conf_opt of the component Bluetooth L2CAP. The manipulation of the argument len/val with an unknown input leads to a out-of-bounds vulnerability. CWE is classifying the issue as CWE-125. The product reads data past the end, or before the beginning, of the intended buffer. This is going to have an impact on integrity, and availability. The summary by CVE is:
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: validate option length before reading conf opt value l2cap_get_conf_opt() derives the option length from the attacker-controlled opt->len field and immediately dereferences opt->val (as u8, get_unaligned_le16() or get_unaligned_le32(), or a raw pointer for the default case) before any caller has confirmed that opt->len bytes are present in the buffer. The callers (l2cap_parse_conf_req(), l2cap_parse_conf_rsp() and l2cap_conf_rfc_get()) only detect a malformed option afterwards, once the running length has gone negative, by which point the out-of-bounds read has already executed. An existing post-hoc length check keeps the garbage value from being consumed, so this is not a data leak in the current control flow. It is still a validate-after-use ordering bug: up to 4 bytes are read past the end of the buffer before it is known to contain them, and it is fragile to future changes in the callers. Fix it at the source. Pass the end of the buffer into l2cap_get_conf_opt() and refuse to touch opt->val unless the full option (header + value) fits. Each caller computes an end pointer once before the loop and checks the return value directly instead of inferring the error from a negative length.
The advisory is shared at git.kernel.org. This vulnerability is uniquely identified as CVE-2026-64403 since 07/19/2026. The exploitability is told to be easy. It is possible to initiate the attack remotely. No form of authentication is needed for exploitation. Technical details are known, but no exploit is available. The price for an exploit might be around USD $0-$5k at the moment (estimation calculated on 07/25/2026).
Upgrading to version 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 or 7.2-rc3 eliminates this vulnerability. Applying the patch cca81b4bc672604a84f6d224a55cc77ec7dee619/f70d4aa88068096f35d73e3a05eff33c0a16b9cd/7d871e969b941ce25653f7716203a0ea4d07ad4b/98d93c226bdfaa79bbdd86981921d7f106374225/996d3da39899aceb8f4910911a3f19a45a7d9d1b/73abbaf91aa33da87c008fb62c148ade561bb606/6b47bdaacfd0045687880177e0987055d8f4765a/687617555cedfb74c9e3cb85d759b908dcb17856 is able to eliminate this problem.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Product
Type
Vendor
Name
Version
- 5.10.260
- 5.15.211
- 6.1.177
- 6.6.144
- 6.12.0
- 6.12.1
- 6.12.2
- 6.12.3
- 6.12.4
- 6.12.5
- 6.12.6
- 6.12.7
- 6.12.8
- 6.12.9
- 6.12.10
- 6.12.11
- 6.12.12
- 6.12.13
- 6.12.14
- 6.12.15
- 6.12.16
- 6.12.17
- 6.12.18
- 6.12.19
- 6.12.20
- 6.12.21
- 6.12.22
- 6.12.23
- 6.12.24
- 6.12.25
- 6.12.26
- 6.12.27
- 6.12.28
- 6.12.29
- 6.12.30
- 6.12.31
- 6.12.32
- 6.12.33
- 6.12.34
- 6.12.35
- 6.12.36
- 6.12.37
- 6.12.38
- 6.12.39
- 6.12.40
- 6.12.41
- 6.12.42
- 6.12.43
- 6.12.44
- 6.12.45
- 6.12.46
- 6.12.47
- 6.12.48
- 6.12.49
- 6.12.50
- 6.12.51
- 6.12.52
- 6.12.53
- 6.12.54
- 6.12.55
- 6.12.56
- 6.12.57
- 6.12.58
- 6.12.59
- 6.12.60
- 6.12.61
- 6.12.62
- 6.12.63
- 6.12.64
- 6.12.65
- 6.12.66
- 6.12.67
- 6.12.68
- 6.12.69
- 6.12.70
- 6.12.71
- 6.12.72
- 6.12.73
- 6.12.74
- 6.12.75
- 6.12.76
- 6.12.77
- 6.12.78
- 6.12.79
- 6.12.80
- 6.12.81
- 6.12.82
- 6.12.83
- 6.12.84
- 6.12.85
- 6.12.86
- 6.12.87
- 6.12.88
- 6.12.89
- 6.12.90
- 6.12.91
- 6.12.92
- 6.12.93
- 6.12.94
- 6.12.95
- 6.18.0
- 6.18.1
- 6.18.2
- 6.18.3
- 6.18.4
- 6.18.5
- 6.18.6
- 6.18.7
- 6.18.8
- 6.18.9
- 6.18.10
- 6.18.11
- 6.18.12
- 6.18.13
- 6.18.14
- 6.18.15
- 6.18.16
- 6.18.17
- 6.18.18
- 6.18.19
- 6.18.20
- 6.18.21
- 6.18.22
- 6.18.23
- 6.18.24
- 6.18.25
- 6.18.26
- 6.18.27
- 6.18.28
- 6.18.29
- 6.18.30
- 6.18.31
- 6.18.32
- 6.18.33
- 6.18.34
- 6.18.35
- 6.18.36
- 6.18.37
- 6.18.38
- 7.1.0
- 7.1.1
- 7.1.2
- 7.1.3
- 7.2-rc1
- 7.2-rc2
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.5VulDB Meta Temp Score: 6.2
VulDB Base Score: 6.5
VulDB Temp Score: 6.2
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Out-of-boundsCWE: CWE-125 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 5.10.261/5.15.212/6.1.178/6.6.145/6.12.96/6.18.39/7.1.4/7.2-rc3
Patch: cca81b4bc672604a84f6d224a55cc77ec7dee619/f70d4aa88068096f35d73e3a05eff33c0a16b9cd/7d871e969b941ce25653f7716203a0ea4d07ad4b/98d93c226bdfaa79bbdd86981921d7f106374225/996d3da39899aceb8f4910911a3f19a45a7d9d1b/73abbaf91aa33da87c008fb62c148ade561bb606/6b47bdaacfd0045687880177e0987055d8f4765a/687617555cedfb74c9e3cb85d759b908dcb17856
Timeline
07/19/2026 CVE reserved07/25/2026 Advisory disclosed
07/25/2026 VulDB entry created
07/25/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2026-64403 (🔒)
GCVE (CVE): GCVE-0-2026-64403
GCVE (VulDB): GCVE-100-383193
Entry
Created: 07/25/2026 18:22Changes: 07/25/2026 18:22 (60)
Complete: 🔍
Cache ID: 216::103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
No comments yet. Languages: en.
Please log in to comment.