🇰🇷 한글 설명
Linux 커널의 BPF 검증기에서 BPF_LD_{ABS,IND} 명령어를 처리할 때 백트래킹 메커니즘의 정밀도 오류가 발견되었습니다. 특정 상황에서 하위 프로그램의 종료 경로를 제대로 처리하지 못해 검증 과정 중 세그멘테이션 결함이 발생하거나 부적절한 상태 가지치기가 수행될 수 있습니다.
💡 쉬운 설명
리눅스 운영체제의 핵심 기능 중 하나인 BPF를 검사하는 과정에서 계산 오류가 발생할 수 있는 버그입니다. 이 오류로 인해 시스템이 갑자기 멈추거나 보안 검사를 제대로 수행하지 못할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf: backtrack_insn(): Handle ld_{abs,ind} subprog exit edge
Nicholas Carlini reported a bug in precision backtracking mechanism
for BPF_LD | BPF_{IND,ABS} instructions. These instructions are
modelled as two branches:
- fallthrough;
- implicit exit from current subprogram.
The implicit exit case was not handled by the backtrack_insn()
function. When backtracking such a path backtrack_insn() did not
call bt_subprog_enter(), which meant that backtracking continued
manipulating precision marks in a caller frame, while looking at
instructions in a callee frame.
This lead to segmentation faults during verification (see the
selftest), or unsound state pruning.
📍 영향받는 시스템
BPF 기능을 사용하는 Linux Kernel (패치 적용 전 버전)
⚔️ 공격 벡터
특수하게 조작된 BPF 프로그램을 로드하여 커널 검증기(Verifier)의 오류를 유도
🛡️ 대응 방법
해당 취약점이 해결된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 취약점이 해결된 최신 패치 버전인지 확인