🇰🇷 한글 설명
Linux 커널의 BPF cgroup 로컬 스토리지 쿠키 검사 로직에 결함이 있어, 스토리지 기능이 없는 프로그램이 스토리지 기능을 사용하는 프로그램 사이의 테일 콜(tail call) 체인을 연결할 수 있는 취약점입니다. 이로 인해 런타임 시 cgroup 로컬 스토리지가 호출자의 컨텍스트를 따르지 않고 잘못된 메모리 영역에 접근할 위험이 있습니다.
💡 쉬운 설명
리눅스 시스템 내부의 특정 프로그램들이 서로 연결될 때, 보안 검사를 우회하여 허용되지 않은 데이터 영역에 접근할 수 있는 문제입니다. 이를 통해 시스템의 메모리 보호 기능이 무력화될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf: Tighten cgroup storage cookie checks for prog arrays
The fix in commit abad3d0bad72 ("bpf: Fix oob access in cgroup local
storage") is still incomplete. The prog-array compatibility check
treats a program with no cgroup storage as compatible with any stored
storage cookie. This allows a storage-less program to bridge a tail
call chain between an entry program and a storage-using callee even
though cgroup local storage at runtime still follows the caller's
context, that is, A -> B(no storage) -> C(storage) path.
Requiring exact cookie equality would break the legitimate case of a
storage-less leaf program being tail called from a storage-using one.
Instead, only accept a zero storage cookie if the program cannot
perform tail calls itself. This keeps A -> B(no storage) working
while rejecting the A -> B(no storage) -> C(storage) bridge.
📍 영향받는 시스템
cgroup 로컬 스토리지를 사용하는 BPF 기능을 포함한 Linux 커널 버전
⚔️ 공격 벡터
스토리지 기능이 없는 BPF 프로그램을 중간 매개체로 사용하여 스토리지 기능을 사용하는 프로그램으로 테일 콜을 수행하는 방식
🛡️ 대응 방법
커널 커밋 abad3d0bad72의 수정 사항을 포함하거나, 테일 콜을 수행할 수 없는 프로그램에 대해서만 제로 스토리지 쿠키를 허용하도록 업데이트된 최신 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인하십시오.