Description
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: L2CAP: ecred_reconfigure: send packed pdu, not stack pointer
Commit 1c08108f3014 ("Bluetooth: L2CAP: Avoid -Wflex-array-member-not-at-end
warnings") converted the on-stack request PDU in l2cap_ecred_reconfigure()
from an explicit packed struct to DEFINE_RAW_FLEX(), but did not adjust the
size and source-pointer arguments to l2cap_send_cmd():
- struct {
- struct l2cap_ecred_reconf_req req;
- __le16 scid;
- } pdu;
+ DEFINE_RAW_FLEX(struct l2cap_ecred_reconf_req, pdu, scid, 1);
...
l2cap_send_cmd(conn, chan->ident, L2CAP_ECRED_RECONF_REQ,
sizeof(pdu), &pdu);
After the conversion, DEFINE_RAW_FLEX() expands to declare an anonymous
union pdu_u plus a local pointer "pdu" pointing at it. Therefore:
- sizeof(pdu) is now sizeof(struct l2cap_ecred_reconf_req *) = 8 on
64-bit (4 on 32-bit), not the 6 bytes of (mtu, mps, scid[1]).
- &pdu is the address of the local pointer's stack storage, not the
address of the request payload.
l2cap_send_cmd() forwards (data, count) to l2cap_build_cmd(), which calls
skb_put_data(skb, data, count). The L2CAP_ECRED_RECONFIGURE_REQ packet
body therefore contains 8 bytes copied from the kernel stack starting at
&pdu -- the 8 bytes overlap the pdu pointer's value, leaking a kernel
stack address to the paired Bluetooth peer. The intended (mtu, mps, scid)
fields are not transmitted at all, so the peer rejects the request as
malformed and the L2CAP_ECRED_RECONFIGURE feature itself has been broken
for the local-side initiator since the introducing commit landed.
The sibling site l2cap_ecred_conn_req() in the same commit was converted
correctly (sizeof(*pdu) + len, pdu); only this site was missed.
Restore the original semantics: pass the full flex-struct size via
struct_size(pdu, scid, 1) and the pdu pointer (the struct address) as
the source.
Validated on a stock 7.0-based host kernel via the real call path:
setsockopt(SOL_BLUETOOTH, BT_RCVMTU, ...) on a BT_CONNECTED
L2CAP_MODE_EXT_FLOWCTL socket emits an L2CAP_ECRED_RECONFIGURE_REQ
whose body is 8 bytes (the on-stack pdu local's value) rather than
the expected 6. Three captures from fresh socket / fresh hciemu peer
on the same host -- low bytes vary per call, high 0xffff confirms a
kernel virtual address (KASLR-randomised stack slot, not a fixed
string):
RECONF_REQ body (ident=0x02 len=8): 42 fb 54 af 0e ca ff ff
RECONF_REQ body (ident=0x02 len=8): 52 3d 2e af 0e ca ff ff
RECONF_REQ body (ident=0x02 len=8): b2 fc 5b af 0e ca ff ff
After this patch the body is 6 bytes carrying the expected
little-endian (mtu, mps, scid).
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.10 | 6.12.92 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 7.0.12-1 | — |
| Debian 13 | linux | 6.12.94-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1030.35 | — |
| Ubuntu 26.04 LTS | linux | 7.0.0-28.28 | — |
| Ubuntu 26.04 LTS | linux-aws +2 | 7.0.0-1009.9 | USN-8618-1, USN-8603-1 |
| Ubuntu 26.04 LTS | linux-gcp +1 | 7.0.0-1008.8 | USN-8593-1 |
| Ubuntu 26.04 LTS | linux-gke | 7.0.0-1003.4 | — |
| Ubuntu 26.04 LTS | linux-ibm +1 | 7.0.0-1010.10 | USN-8603-1, USN-8593-1 |
| Ubuntu 26.04 LTS | linux-nvidia | 7.0.0-1016.16 | USN-8663-1 |
| Ubuntu 26.04 LTS | linux-nvidia-bos | 7.0.0-2016.16 | USN-8664-1 |
| Ubuntu 26.04 LTS | linux-raspi | 7.0.0-1015.15 | USN-8618-1 |
| Ubuntu 26.04 LTS | linux-riscv +1 | 7.0.0-28.28.1 | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-139.139 | USN-8729-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1064.67 | USN-8729-6 |
| Ubuntu 24.04 LTS | linux-azure-7.0 | 7.0.0-1014.14~24.04.1 | USN-8728-2 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1065.72 | — |
| Ubuntu 24.04 LTS | linux-azure-fde-7.0 | 7.0.0-1013.13~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-gcp +1 | 6.8.0-1067.75 | USN-8761-1, USN-8729-1 |
| Ubuntu 24.04 LTS | linux-gcp-7.0 +1 | 7.0.0-1011.11~24.04.1 | USN-8728-3, USN-8728-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1062.70 | USN-8729-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1049.53 | USN-8729-1 |
| Ubuntu 24.04 LTS | linux-hwe-7.0 | 7.0.0-28.28~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1064.65 | USN-8729-3 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-139.139.1 | USN-8729-4 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1062.65 | USN-8729-1 |
| Ubuntu 24.04 LTS | linux-nvidia-7.0 | 7.0.0-1016.16~24.04.1 | USN-8663-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1062.65.1 | USN-8729-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1035.38 | USN-8781-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1061.64 | USN-8802-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1064.68 | USN-8729-1 |
| Ubuntu 24.04 LTS | linux-riscv +28 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-riscv-7.0 | 7.0.0-28.28.1~24.04.3 | — |
| Ubuntu 24.04 LTS | linux-vmware | 6.8.0-1008.8 | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1036.37 | USN-8729-3 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1064.67~22.04.1 | USN-8729-6 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1065.72~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.8 +1 | 6.8.0-1067.75~22.04.1 | USN-8761-3, USN-8729-3 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-149.149~22.04.1 | USN-9066-1 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1066.67~22.04.1 | USN-8906-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-139.139.1~22.04.1 | USN-8729-4 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1062.65~22.04.1 | USN-8729-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1061.64~22.04.1 | USN-8802-1 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-139.139~22.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2053.55 | USN-8729-2 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1059.60 | USN-8729-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 +1 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1059.60~22.04.1 | USN-8729-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1064.67+fips1 | USN-8729-5 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-139.139+fips1 | USN-8729-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips +1 | 6.8.0-1067.75+fips1 | USN-8761-2, USN-8729-1 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.81.1.150700.17.45.1 | SUSE-SU-2026:4254-1 |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | kernel-64kb +8 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.38.1.160000.2.23 | SUSE-SU-2026:23902-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1, SUSE-SU-2026:23897-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.38.1.160000.2.23 | SUSE-SU-2026:23902-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.38.1.160000.2.23 | SUSE-SU-2026:23887-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.38.1 | SUSE-SU-2026:23887-1, SUSE-SU-2026:23881-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_20 | 1-150700.1.3.1 | SUSE-SU-2026:4120-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_21 | 1-150700.15.3.1 | SUSE-SU-2026:4254-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt +2 | 6.4.0-150700.7.75.1 | SUSE-SU-2026:4120-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.38.1.160000.2.22 | openSUSE-SU-2026:21910-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.38.1 | openSUSE-SU-2026:21910-1 |
Advisories 29
- USN-8593-1 linux-ibm, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-9066-1 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-8663-1 linux-nvidia, linux-nvidia-7.0 vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-8728-1 linux-gcp-7.0 vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-8906-1 linux-ibm-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-8618-1 linux-aws, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-8728-3 linux-oracle-7.0 vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-8728-2 linux-azure-7.0 vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-8603-1 linux-azure, linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- USN-8664-1 linux-nvidia-bos vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- WID-SEC-2026-2403 Linux Kernel: Mehrere Schwachstellen ermöglichen nicht spezifizierten Angriff BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8729-1 linux, linux-fips, linux-gcp, linux-gcp-fips, linux-gke, linux-gkeop, linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency, linux-raspi, linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8761-3 linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8729-6 linux-aws, linux-aws-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8781-1 linux-nvidia-tegra vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8729-4 linux-lowlatency, linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8802-1 linux-oracle, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8729-5 linux-aws-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8729-3 linux-gcp-6.8, linux-ibm, linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8729-2 linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8761-2 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8761-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- SUSE-SU-2026:4254-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Oct 8, 2026
- SUSE-SU-2026:23902-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Sep 30, 2026
- SUSE-SU-2026:23897-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Sep 30, 2026
- SUSE-SU-2026:23881-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Sep 30, 2026
- SUSE-SU-2026:23887-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Sep 30, 2026
- openSUSE-SU-2026:21910-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Sep 25, 2026
- SUSE-SU-2026:4120-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Sep 14, 2026