← All Advisories

Linux Kernel WWAN iosm MUX Downlink Decoder Trusts Modem-Supplied Offsets and Lengths Without Validation, Enabling Out-of-Bounds Read and an Infinite Loop from a Malicious Modem

Last refreshed2026-09-29

Status: NEW  |  Advisory ID: CVE-2026-72029

Key Details

CVECVE-2026-72029
CVSS Score / Version8.8 (High) / CVSS v3.1
Updated2026-08-17
CVSS VectorCVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Proseattack vector is adjacent; attack complexity is low; privileges required is none; user interaction is none; scope is unchanged; confidentiality impact is high; integrity impact is high; availability impact is high.

What to Know

In the Linux kernel, the following vulnerability has been resolved:

net: wwan: iosm: bound device offsets in the MUX downlink decoder

mux_dl_adb_decode() walks a chain of aggregated datagram tables using

offsets and lengths taken from the modem. first_table_index,

next_table_index, table_length, datagram_index and datagram_length are

all device supplied le values. Only first_table_index was checked, and

only for being non zero. The decoder then formed adth = block +

adth_index and read the table header and the datagram entries with no

bound against the received skb. A modem that reports an index or a

length past the downlink buffer makes the decoder read out of bounds.

The buffer is IPC_MEM_MAX_DL_MUX_LITE_BUF_SIZE and skb->len is at most

that, so skb->len is the real limit, but none of these in band offsets

were checked against it.

The table chain is also followed with no forward progress check. The loop

takes the next table from adth->next_table_index and stops only when that

reaches zero. A modem can stage two tables that point at each other, so

the loop never ends. It runs in softirq and clones the skb on every pass.

Validate every device offset and length against skb->len before use.

The block header must fit. Each table header, on entry and after every

next_table_index, must lie inside the skb. The datagram table must fit.

Each datagram index and length must stay inside the skb. The header

padding must not exceed the datagram length so the receive length does

not wrap. Require each next_table_index to move forward so the chain

cannot cycle.

This was reproduced under KASAN as a slab out of bounds read on a normal

downlink receive once the iosm net device is up. (NVD)

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-72029
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-72029