Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-98711

Опубликовано: 18 окт. 2026
Источник: redhat
CVSS3: 4.6
EPSS Низкий

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cw1200: fix TX padding OOB read leaking heap data to device The TX path rounds the transfer size up to the bus alignment (align_size(), up to 511 bytes for SDIO, 1 byte for SPI) but sends the padded length straight from the frame buffer, which has no room reserved for the padding. cw1200_data_write() therefore reads past the end of the frame and the bus transfer carries those bytes to the device. A bogus device can collect up to 511 bytes of kernel heap data per TX frame. The RX path does not have this problem: it allocates the skb with the aligned length (alloc_len) before reading. Compute the exact padding with the bus align_size() callback, make sure queued TX frames have tailroom for it, and zero the padding bytes before the transfer so nothing past the frame is exposed. This is not expected to change driver behavior on most cases: frame contents and transfer sizes are unchanged, only the content of the padding bytes (previously undefined stale memory, now zero), which the device never reads since the WSM header carries the real frame length. The skb expansion can only fail under memory exhaustion, in which case the frame is dropped like on the existing error paths of cw1200_tx(). Discovered by Atuin - Automated Vulnerability Discovery Engine.

A flaw was found in the Linux kernel's cw1200 wireless network driver. During data transmission, the driver pads transfer sizes to meet hardware alignment requirements without reserving sufficient space in the frame buffer. This causes the driver to read beyond the buffer boundaries and transmit adjacent kernel memory across the bus. Consequently, a rogue or compromised hardware device can capture sensitive kernel heap data, leading to information disclosure.

Отчет

The cw1200 TX path can read beyond the end of a frame buffer because the bus transfer length is rounded up for alignment without reserving matching skb tailroom. On SDIO systems this can expose up to 511 bytes of stale kernel heap data per transmitted frame to a malicious or compromised wireless device. Repeated transmissions may allow the device to collect a substantial amount of kernel memory, although the attacker cannot directly select which heap bytes appear in the padding. For the CVSS the PR:N value is used because no authenticated host privilege is required after the attacker controls the attached device. The attack vector is AV:P because the leaked padding is delivered to the directly attached SDIO or SPI device and is not transmitted to a remote WiFi peer. Impact is an information disclosure with no supported write primitive, kernel crash, or privilege escalation path.

Меры по смягчению последствий

Mitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelFix deferred

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-200
https://bugzilla.redhat.com/show_bug.cgi?id=2555085kernel: kernel: cw1200: Information disclosure via out-of-bounds read during frame transmission

EPSS

Процентиль: 7%
0.00176
Низкий

4.6 Medium

CVSS3

Связанные уязвимости

ubuntu
23 дня назад

In the Linux kernel, the following vulnerability has been resolved: wifi: cw1200: fix TX padding OOB read leaking heap data to device The TX path rounds the transfer size up to the bus alignment (align_size(), up to 511 bytes for SDIO, 1 byte for SPI) but sends the padded length straight from the frame buffer, which has no room reserved for the padding. cw1200_data_write() therefore reads past the end of the frame and the bus transfer carries those bytes to the device. A bogus device can collect up to 511 bytes of kernel heap data per TX frame. The RX path does not have this problem: it allocates the skb with the aligned length (alloc_len) before reading. Compute the exact padding with the bus align_size() callback, make sure queued TX frames have tailroom for it, and zero the padding bytes before the transfer so nothing past the frame is exposed. This is not expected to change driver behavior on most cases: frame contents and transfer sizes are unchanged, only the content of the ...

nvd
23 дня назад

In the Linux kernel, the following vulnerability has been resolved: wifi: cw1200: fix TX padding OOB read leaking heap data to device The TX path rounds the transfer size up to the bus alignment (align_size(), up to 511 bytes for SDIO, 1 byte for SPI) but sends the padded length straight from the frame buffer, which has no room reserved for the padding. cw1200_data_write() therefore reads past the end of the frame and the bus transfer carries those bytes to the device. A bogus device can collect up to 511 bytes of kernel heap data per TX frame. The RX path does not have this problem: it allocates the skb with the aligned length (alloc_len) before reading. Compute the exact padding with the bus align_size() callback, make sure queued TX frames have tailroom for it, and zero the padding bytes before the transfer so nothing past the frame is exposed. This is not expected to change driver behavior on most cases: frame contents and transfer sizes are unchanged, only the content of th

CVSS3: 4.6
msrc
21 день назад

wifi: cw1200: fix TX padding OOB read leaking heap data to device

debian
23 дня назад

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

github
23 дня назад

In the Linux kernel, the following vulnerability has been resolved: wifi: cw1200: fix TX padding OOB read leaking heap data to device The TX path rounds the transfer size up to the bus alignment (align_size(), up to 511 bytes for SDIO, 1 byte for SPI) but sends the padded length straight from the frame buffer, which has no room reserved for the padding. cw1200_data_write() therefore reads past the end of the frame and the bus transfer carries those bytes to the device. A bogus device can collect up to 511 bytes of kernel heap data per TX frame. The RX path does not have this problem: it allocates the skb with the aligned length (alloc_len) before reading. Compute the exact padding with the bus align_size() callback, make sure queued TX frames have tailroom for it, and zero the padding bytes before the transfer so nothing past the frame is exposed. This is not expected to change driver behavior on most cases: frame contents and transfer sizes are unchanged, only the content of...

EPSS

Процентиль: 7%
0.00176
Низкий

4.6 Medium

CVSS3