🇰🇷 한글 설명
Linux 커널의 BPF 및 cgroup 구성 요소에서 프로그램 교체 시 저장소 null 포인터 역참조(null-ptr-deref) 취약점이 발견되었습니다. 새로운 BPF 프로그램이 cgroup 저장소를 제대로 할당받지 못해 커널 패닉이 발생할 수 있는 문제입니다.
💡 쉬운 설명
리눅스 시스템 내부의 특정 프로그램을 교체하는 과정에서 메모리 관리 오류가 발생하여 시스템이 갑자기 멈출 수 있는 문제입니다. 이는 시스템을 강제로 종료시키는 원인이 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf, cgroup: Fix storage null-ptr-deref after replacing prog
Syzkaller reported a storage null-ptr-deref issue after replacing prog.
This occurs in the following scenario:
1. prog A, an empty prog, is attached to a cgrp.
2. prog B uses BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE and calls the
bpf_get_local_storage helper.
3. link_update is called to replace prog A with prog B.
The reason is that __cgroup_bpf_replace fails to alloc and assign the
required cgrp storage for the incoming replacement prog. Consequently,
the new prog inherits an uninit storage, leading to null-ptr-deref panic
when kick the new prog.
Fix this by rejecting a link update if new_prog's cgroup storage is
incompatible with link->prog.
📍 영향받는 시스템
BPF 및 cgroup 기능을 사용하는 Linux Kernel (Syzkaller 보고된 버전)
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 BPF 프로그램을 교체하는 특정 시나리오를 통해 커널 패닉 유도
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인