🔍 CVE-2022-49112

5.5
CVSS Score
MEDIUM
2025-02-26
2026-08-13 00:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 mt76 드라이버에서 모니터 모드 사용 시 SDIO 드라이버가 비선형 버퍼를 처리하는 과정에서 발생하는 취약점입니다. CTS 패킷 수신 시 헤더 패딩 처리를 위한 skb_pull() 호출이 버퍼 크기 불일치를 유발하여 커널 패닉(BUG_ON)을 일으킬 수 있습니다.

💡 쉬운 설명

무선 랜 카드가 특정 신호를 받을 때 메모리 처리 오류로 인해 컴퓨터 시스템이 갑자기 멈추거나 재부팅될 수 있는 문제입니다. 공격자가 특수한 무선 신호를 보내 시스템을 강제로 다운시킬 수 있습니다.

🇺🇸 원문 (English)

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

📍 영향받는 시스템

mt76 및 mt7921s 드라이버를 사용하는 Linux 커널 시스템

⚔️ 공격 벡터

모니터 모드 상태의 무선 네트워크 환경에서 조작된 CTS(Clear to Send) 프레임을 전송하여 발생

🛡️ 대응 방법

mt76 드라이버의 RXD 크기를 128에서 256으로 확장하여 패치된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel