Skip to main content

CVE-2022-49112: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2022-49112cvecve-2022-49112
Published: Wed Feb 26 2025 (02/26/2025, 01:54:57 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: mt76: fix monitor mode crash with sdio driver mt7921s driver may receive frames with fragment buffers. If there is a CTS packet received in monitor mode, the payload is 10 bytes only and need 6 bytes header padding after RXD buffer. However, only RXD in the first linear buffer, if we pull buffer size RXD-size+6 bytes with skb_pull(), that would trigger "BUG_ON(skb->len < skb->data_len)" in __skb_pull(). To avoid the nonlinear buffer issue, enlarge the RXD size from 128 to 256 to make sure all MCU operation in linear buffer. [ 52.007562] kernel BUG at include/linux/skbuff.h:2313! [ 52.007578] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP [ 52.007987] pc : skb_pull+0x48/0x4c [ 52.008015] lr : mt7921_queue_rx_skb+0x494/0x890 [mt7921_common] [ 52.008361] Call trace: [ 52.008377] skb_pull+0x48/0x4c [ 52.008400] mt76s_net_worker+0x134/0x1b0 [mt76_sdio 35339a92c6eb7d4bbcc806a1d22f56365565135c] [ 52.008431] __mt76_worker_fn+0xe8/0x170 [mt76 ef716597d11a77150bc07e3fdd68eeb0f9b56917] [ 52.008449] kthread+0x148/0x3ac [ 52.008466] ret_from_fork+0x10/0x30

AI-Powered Analysis

AILast updated: 07/01/2025, 02:28:04 UTC

Technical Analysis

CVE-2022-49112 is a vulnerability identified in the Linux kernel specifically affecting the mt76 wireless driver family, focusing on the mt7921s SDIO driver. The issue arises when the driver operates in monitor mode and processes received frames containing fragment buffers. In particular, if a Clear To Send (CTS) packet is received in monitor mode, the payload size is only 10 bytes, requiring an additional 6 bytes of header padding after the RXD buffer. However, the driver only accounts for the RXD in the first linear buffer. When the skb_pull() function attempts to pull a buffer size of RXD-size plus 6 bytes, it triggers a kernel BUG due to a length inconsistency detected by the __skb_pull() function, specifically the condition "BUG_ON(skb->len < skb->data_len)". This results in a kernel crash (Oops) and a BUG report, as evidenced by the provided kernel trace logs. The root cause is the nonlinear buffer handling in the driver. The fix implemented involves enlarging the RXD size from 128 bytes to 256 bytes to ensure all MCU operations occur within a linear buffer, preventing the skb_pull() bug. This vulnerability can cause denial of service (DoS) conditions by crashing the kernel when processing specific wireless frames in monitor mode. It affects Linux kernel versions containing the vulnerable mt76 driver code prior to the patch. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.

Potential Impact

For European organizations, this vulnerability poses a risk primarily to systems running Linux kernels with the affected mt76 wireless drivers, especially those using the mt7921s SDIO wireless chipsets. The impact is mainly a denial of service through kernel crashes, which could disrupt network connectivity and system availability. This is particularly critical for infrastructure relying on wireless communications, such as enterprise Wi-Fi access points, embedded devices, or IoT systems using affected chipsets. In environments where monitor mode is used for network analysis or security monitoring, the vulnerability could be triggered unintentionally or maliciously by crafted wireless frames, leading to instability or outages. While the vulnerability does not appear to allow privilege escalation or remote code execution, the resulting kernel panic could interrupt critical services and cause operational downtime. European organizations with Linux-based wireless infrastructure or embedded devices should be aware of this risk, especially in sectors like telecommunications, manufacturing, and public services where wireless connectivity is essential.

Mitigation Recommendations

To mitigate this vulnerability, organizations should apply the official Linux kernel patches that enlarge the RXD buffer size in the mt76 driver as soon as they become available. Until patches are deployed, disabling monitor mode on affected wireless interfaces can prevent triggering the bug, as the issue manifests specifically in monitor mode. Network administrators should audit their systems to identify devices using the mt7921s or related mt76 SDIO drivers and prioritize patching those systems. For embedded or IoT devices, firmware updates from vendors incorporating the patched kernel should be applied promptly. Additionally, implementing network segmentation and wireless frame filtering can reduce exposure to malicious or malformed CTS packets that could trigger the vulnerability. Monitoring kernel logs for BUG_ON or Oops messages related to skb_pull or mt76 drivers can help detect attempted exploit attempts or instability. Finally, organizations should maintain up-to-date inventories of Linux kernel versions and wireless hardware to ensure timely response to such vulnerabilities.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-02-26T01:49:39.261Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d982fc4522896dcbe6bb1

Added to database: 5/21/2025, 9:09:03 AM

Last enriched: 7/1/2025, 2:28:04 AM

Last updated: 8/16/2025, 12:34:00 AM

Views: 20

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats