Linux Kernel up to 6.19.10 Bluetooth l2cap_config_req infinite loop

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.5 | $0-$5k | 0.00 |
Summary
A vulnerability was found in Linux Kernel up to 6.19.10. It has been rated as critical. Impacted is the function l2cap_config_req of the component Bluetooth. Performing a manipulation results in infinite loop.
This vulnerability is cataloged as CVE-2026-31498. The attack must originate from the local network. There is no exploit available.
Upgrading the affected component is advised.
Details
A vulnerability, which was classified as critical, was found in Linux Kernel up to 6.19.10. This affects the function l2cap_config_req of the component Bluetooth. The manipulation with an unknown input leads to a infinite loop vulnerability. CWE is classifying the issue as CWE-835. The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop. This is going to have an impact on availability. The summary by CVE is:
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix ERTM re-init and zero pdu_len infinite loop l2cap_config_req() processes CONFIG_REQ for channels in BT_CONNECTED state to support L2CAP reconfiguration (e.g. MTU changes). However, since both CONF_INPUT_DONE and CONF_OUTPUT_DONE are already set from the initial configuration, the reconfiguration path falls through to l2cap_ertm_init(), which re-initializes tx_q, srej_q, srej_list, and retrans_list without freeing the previous allocations and sets chan->sdu to NULL without freeing the existing skb. This leaks all previously allocated ERTM resources. Additionally, l2cap_parse_conf_req() does not validate the minimum value of remote_mps derived from the RFC max_pdu_size option. A zero value propagates to l2cap_segment_sdu() where pdu_len becomes zero, causing the while loop to never terminate since len is never decremented, exhausting all available memory. Fix the double-init by skipping l2cap_ertm_init() and l2cap_chan_ready() when the channel is already in BT_CONNECTED state, while still allowing the reconfiguration parameters to be updated through l2cap_parse_conf_req(). Also add a pdu_len zero check in l2cap_segment_sdu() as a safeguard.
The advisory is shared at git.kernel.org. This vulnerability is uniquely identified as CVE-2026-31498 since 03/09/2026. The exploitability is told to be easy. The attack needs to approached within the local network. Technical details are known, but no exploit is available.
The vulnerability scanner Nessus provides a plugin with the ID 318288 (Debian dla-4606 : ata-modules-5.10.0-43-armmp-di - security update), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 5.10.253, 5.15.203, 6.1.168, 6.6.131, 6.12.80, 6.18.21 or 6.19.11 eliminates this vulnerability. Applying the patch 9760b83cfd24b38caee663f429011a0dd6064fa9/de37e2655b7abc3f59254c6b72256840f39fc6d5/e7aab23b7df89a3d754a5f0a7d2237548b328bd0/52667c859fe33f70c2e711cb81bbd505d5eb8e75/9a21a631ee034b1573dce14b572a24943dbfd7ae/900e4db5385ec2cacd372345a80ab9c8e105b3a3/042e2cd4bb11e5313b19b87593616524949e4c52/25f420a0d4cfd61d3d23ec4b9c56d9f443d91377 is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the databases at Tenable (318288) and CERT Bund (WID-SEC-2026-1252). If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Affected
- Google Container-Optimized OS
- Debian Linux
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- SUSE openSUSE
- RESF Rocky Linux
- Open Source Linux Kernel
Product
Type
Vendor
Name
Version
- 5.10.252
- 5.15.202
- 6.1.167
- 6.6.130
- 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.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.19.0
- 6.19.1
- 6.19.2
- 6.19.3
- 6.19.4
- 6.19.5
- 6.19.6
- 6.19.7
- 6.19.8
- 6.19.9
- 6.19.10
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.7VulDB Meta Temp Score: 5.5
VulDB Base Score: 5.7
VulDB Temp Score: 5.5
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: Infinite loopCWE: CWE-835 / CWE-404
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Partially
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 318288
Nessus Name: Debian dla-4606 : ata-modules-5.10.0-43-armmp-di - security update
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 5.10.253/5.15.203/6.1.168/6.6.131/6.12.80/6.18.21/6.19.11
Patch: 9760b83cfd24b38caee663f429011a0dd6064fa9/de37e2655b7abc3f59254c6b72256840f39fc6d5/e7aab23b7df89a3d754a5f0a7d2237548b328bd0/52667c859fe33f70c2e711cb81bbd505d5eb8e75/9a21a631ee034b1573dce14b572a24943dbfd7ae/900e4db5385ec2cacd372345a80ab9c8e105b3a3/042e2cd4bb11e5313b19b87593616524949e4c52/25f420a0d4cfd61d3d23ec4b9c56d9f443d91377
Timeline
03/09/2026 CVE reserved04/22/2026 Advisory disclosed
04/22/2026 VulDB entry created
06/18/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2026-31498 (🔒)
GCVE (CVE): GCVE-0-2026-31498
GCVE (VulDB): GCVE-100-358869
CERT Bund: WID-SEC-2026-1252 - Linux Kernel: Mehrere Schwachstellen
Entry
Created: 04/22/2026 17:05Updated: 06/18/2026 03:07
Changes: 04/22/2026 17:05 (59), 06/03/2026 19:28 (2), 06/18/2026 03:07 (7)
Complete: 🔍
Cache ID: 216::103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
No comments yet. Languages: en.
Please log in to comment.