🇰🇷 한글 설명
리눅스 커널의 BPF 인터프리터가 arena 관련 명령어를 지원하지 않아 발생하는 취약점입니다. arena 관련 명령어가 포함된 BPF 프로그램이 인터프리터 방식으로 실행될 경우 커널 BUG_ON()이 발생하며 시스템이 중단될 수 있습니다.
💡 쉬운 설명
특수한 명령어가 포함된 프로그램이 실행될 때, 컴퓨터가 이를 처리하지 못하고 갑자기 멈춰버리는 문제입니다. 이를 방지하기 위해 해당 명령어가 있으면 반드시 안전한 방식으로만 실행되도록 강제해야 합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf: Disallow interpreter fallback for arena-related insns
Since the interpreter does not support the arena-related insns,
interpreter fallback should not be allowed for these insns in
core.c::__bpf_prog_select_runtime().
Currently, when the interpreter executes the arena ST/LDX/STX insns,
it would hit the BUG_ON() in ___bpf_prog_run() at run time.
[ 2.579196] BPF interpreter: unknown opcode a2 (imm: 0x0)
[ 2.579998] ------------[ cut here ]------------
[ 2.580652] kernel BUG at kernel/bpf/core.c:2349!
[ 2.581314] Oops: invalid opcode: 0000 [#1] SMP PTI
Set jit_required as true when arena map is used in the prog to disallow
interpreter fallback for arena-related insns.
📍 영향받는 시스템
arena 관련 BPF 명령어를 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
arena 관련 명령어가 포함된 악의적인 BPF 프로그램을 로드하여 커널 패닉 유도
🛡️ 대응 방법
커널 패치를 적용하여 arena 맵 사용 시 jit_required 설정을 true로 강제 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전인지 확인