🔍 CVE-2026-98039

0.0
CVSS Score
UNKNOWN
2026-09-25
2026-10-19 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 BPF 구현에서 percpu kptr 저장 시 MEM_PERCPU 플래그 검증이 누락된 취약점입니다. 이로 인해 일반 할당된 메모리가 percpu 맵 필드에 저장될 수 있으며, 이는 임의의 커널 읽기/쓰기 또는 잘못된 주소 재배치로 이어질 수 있습니다.

💡 쉬운 설명

커널의 특정 메모리 관리 규칙을 어기고 잘못된 데이터를 저장할 수 있는 보안 허점이 발견되었습니다. 공격자가 이를 악용하면 컴퓨터의 핵심 권한을 탈취하거나 시스템을 망가뜨릴 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: bpf: Require MEM_PERCPU for percpu kptr stores map_kptr_match_type() treats perm_flags as the set of register type flags that a kptr field permits. Adding MEM_PERCPU to that set for BPF_KPTR_PERCPU does not require the source register to carry it, however. The subset test consequently accepts both a plain bpf_obj_new() allocation and a referenced kernel pointer into a __percpu_kptr map field. Loads from the field are always marked MEM_PERCPU. Consumers then treat the stored value as the cookie returned by bpf_percpu_obj_new(): per-CPU pointer helpers relocate it, and map teardown selects the per-CPU free path. A plain allocation can therefore provide an arbitrary kernel read/write, while a kernel pointer can be relocated into an invalid address or sent through a missing destructor. Require the source MEM_PERCPU flag to match the destination field kind. This preserves valid bpf_percpu_obj_new() stores and rejects both the program-BTF and kernel-BTF variants.

📍 영향받는 시스템

Linux kernel (BPF percpu kptr 관련 기능 사용 시)

⚔️ 공격 벡터

BPF 프로그램을 통해 MEM_PERCPU 플래그가 없는 일반 메모리 주소를 percpu kptr 맵에 저장하여 커널 메모리 조작

🛡️ 대응 방법

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

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel