🇰🇷 한글 설명
리눅스 커널의 BPF 구현에서 bpf_map_elem 반복자가 독점 맵(exclusive maps)에 대한 접근 제한을 우회할 수 있는 취약점이 발견되었습니다. 반복자가 맵을 연결하는 방식이 기존의 독점성 검사 로직을 거치지 않아, 특정 프로그램만 접근해야 하는 맵의 값을 수정할 수 있는 문제가 있습니다.
💡 쉬운 설명
특정 프로그램만 만질 수 있도록 잠겨 있어야 하는 데이터 저장소에, 보안 검사를 우회하여 누구나 접근하고 내용을 고칠 수 있는 통로가 발견되었습니다. 이로 인해 시스템의 중요한 설정이나 데이터가 변조될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf: Reject exclusive maps for bpf_map_elem iterators
Exclusive maps (aka excl_prog_hash) are meant to be reachable only
from the single program whose hash matches. This is enforced by
check_map_prog_compatibility() when the map is referenced from a
program such as signed BPF loaders.
A bpf_map_elem iterator, however, binds its target map at attach
time in bpf_iter_attach_map() instead of referencing it from the
program, so the exclusivity check is never reached. On top of that,
the iterator exposes the map value as a writable buffer.
📍 영향받는 시스템
Linux kernel (BPF exclusive maps를 사용하는 버전)
⚔️ 공격 벡터
bpf_map_elem iterator를 사용하여 독점 맵에 접근한 뒤, 노출된 버퍼를 통해 맵의 값을 직접 수정
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인