🔍 CVE-2022-49001

7.0
CVSS Score
HIGH
2024-10-21
2026-08-04 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 RISC-V 아키텍처에서 vmap 스택 오버플로 감지 시 발생하는 레이스 컨디션 취약점입니다. 여러 하트(hart)가 동시에 동일한 섀도우 스택을 사용하려고 할 때 충돌이 발생할 수 있으며, 이를 해결하기 위해 원자적 변수를 도입하여 스택 사용 상태를 관리하도록 수정되었습니다.

💡 쉬운 설명

컴퓨터의 핵심 부품인 RISC-V 프로세서에서 여러 작업이 동시에 같은 메모리 공간을 사용하려다 충돌이 일어날 수 있는 문제입니다. 이 충돌로 인해 시스템이 불안정해지거나 예상치 못한 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: riscv: fix race when vmap stack overflow Currently, when detecting vmap stack overflow, riscv firstly switches to the so called shadow stack, then use this shadow stack to call the get_overflow_stack() to get the overflow stack. However, there's a race here if two or more harts use the same shadow stack at the same time. To solve this race, we introduce spin_shadow_stack atomic var, which will be swap between its own address and 0 in atomic way, when the var is set, it means the shadow_stack is being used; when the var is cleared, it means the shadow_stack isn't being used. [Palmer: Add AQ to the swap, and also some comments.]

📍 영향받는 시스템

RISC-V 아키텍처를 사용하는 Linux 커널 버전

⚔️ 공격 벡터

여러 프로세스(hart)가 동시에 vmap 스택 오버플로를 유발하여 공유 자원에 접근하는 레이스 컨디션 공격

🛡️ 대응 방법

해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 패치가 적용된 버전인지 확인

Shell / Script
uname -a

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel