🔍 CVE-2022-48985

9.8
CVSS Score
CRITICAL
2024-10-21
2026-08-04 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 mana 네트워크 드라이버에서 napi_complete_done() 호출 후 per-CQ 변수인 work_done에 대한 레이스 컨디션(경쟁 상태)이 발생할 수 있습니다. 이로 인해 다른 CPU가 동시에 변수에 접근하여 값을 변경할 경우, 프로세스가 중단되지 않고 계속 실행되어 메모리 손상 및 커널 패닉을 유발할 수 있습니다.

💡 쉬운 설명

네트워크를 처리하는 과정에서 두 개의 작업이 동시에 같은 데이터를 건드려 충돌이 발생하는 문제입니다. 이 충돌로 인해 컴퓨터 시스템이 갑자기 멈추거나 데이터가 망가질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: mana: Fix race on per-CQ variable napi work_done After calling napi_complete_done(), the NAPIF_STATE_SCHED bit may be cleared, and another CPU can start napi thread and access per-CQ variable, cq->work_done. If the other thread (for example, from busy_poll) sets it to a value >= budget, this thread will continue to run when it should stop, and cause memory corruption and panic. To fix this issue, save the per-CQ work_done variable in a local variable before napi_complete_done(), so it won't be corrupted by a possible concurrent thread after napi_complete_done(). Also, add a flag bit to advertise to the NIC firmware: the NAPI work_done variable race is fixed, so the driver is able to reliably support features like busy_poll.

📍 영향받는 시스템

Linux kernel (mana network driver 사용 시스템)

⚔️ 공격 벡터

네트워크 트래픽을 이용한 레이스 컨디션 유도 및 메모리 오염

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel