🇰🇷 한글 설명
Linux 커널의 BPF 구현에서 bpf_get_stack() 및 bpf_get_task_stack() 함수가 잠들 수 있는(sleepable) 상태임에도 불구하고, 프로토타입에 sleepable 속성이 명시되지 않은 취약점이 발견되었습니다. 이로 인해 수면이 금지된 RCU 또는 선점 금지 영역에서 해당 함수가 호출되어 시스템 불안정이나 충돌을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 핵심 엔진인 커널에서 잠들면 안 되는 중요한 작업 중에 갑자기 멈추거나 기다려야 하는 명령어가 실행될 수 있는 오류입니다. 이 문제가 발생하면 시스템이 예상치 못한 방식으로 멈추거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf: Mark faultable stack helpers as sleepable
The faultable variants of bpf_get_stack() and bpf_get_task_stack() pass
may_fault=true into the common stack collection code. Resolving user-space
build IDs may then call build_id_parse_file() and block on filesystem
reads.
Neither helper prototype sets might_sleep. Since prototype selection uses
the sleepability of the whole program, the verifier can still allow these
helpers from a non-sleepable region within that program, such as an
explicit RCU or preemption-disabled region. The task-stack helper can also
be called from a non-sleepable timer callback of a sleepable program.
Mark both faultable prototypes as sleepable. The existing helper context
check then rejects these calls while continuing to allow them in genuinely
sleepable contexts.
📍 영향받는 시스템
Linux Kernel (bpf_get_stack 및 bpf_get_task_stack 함수를 사용하는 버전)
⚔️ 공격 벡터
비수면(non-sleepable) 컨텍스트(RCU, 선점 금지 영역 등)에서 faultable BPF 스택 헬퍼 함수를 호출하여 시스템 불안정 유도
🛡️ 대응 방법
해당 취약점이 해결된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 패치가 적용된 최신 보안 업데이트 버전인지 확인하십시오.