🔍 CVE-2026-98043

0.0
CVSS Score
UNKNOWN
2026-09-25
2026-10-21 13:21
✅ 완료

🇰🇷 한글 설명

Linux 커널의 BPF 검증기에서 포인터의 오프셋이 제한되지 않을 경우, 해당 포인터가 NULL이 아니라고 잘못 판단하는 취약점입니다. 공격자가 정교하게 조작된 BPF 프로그램을 통해 런타임 시 NULL 포인터 역참조를 유발하여 시스템 오류를 일으킬 수 있습니다.

💡 쉬운 설명

컴퓨터가 '이 값은 비어있지 않다'라고 잘못 믿게 만들어, 실제로는 비어있는 값을 사용하려다 시스템이 멈추게 만드는 오류입니다. 공격자가 특수한 계산식을 사용하여 컴퓨터를 속이는 방식입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: bpf: Don't infer non-NULL from a pointer with an unbounded offset reg_not_null() decides that a register holds a non-NULL value by looking at its type alone. For pointer types that allow arithmetic the type only guarantees a non-NULL base, in case of an unbound offset the runtime offset value might still add up to NULL. Consider the followng program: r6 = bpf_map_lookup_elem(map, &0); /* present */ if (r6 == 0) return 0; r7 = bpf_map_lookup_elem(map, &1); /* absent, NULL at runtime */ r8 = r7; r8 -= r6; /* pointer - pointer: unknown scalar, -r6 */ r8 <<= 1; r8 >>= 1; /* any non-negative offset is accepted by */ /* check_reg_sane_offset_ptr() */ r6 += r8; /* verifier: map value; runtime: zero */ if (r7 != r6) return 0; *(u8 *)(r7 + 0); /* r7 is inferred non-NULL, both are zero */ At runtime both registers are zero, the comparison is true and the load faults with NULL pointer dereference. Require the offset to be within +-BPF_MAX_VAR_OFF in reg_not_null().

📍 영향받는 시스템

Linux Kernel (BPF 기능이 활성화된 버전)

⚔️ 공격 벡터

조작된 BPF 프로그램을 로드하여 커널 검증기를 우회하고 NULL 포인터 역참조 유도

🛡️ 대응 방법

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

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel