CVE-2026-64192 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 20.

리눅스 커널에서 다음 취약점이 해결되었습니다:

bpf: BPF LSM이 초기화되지 않은 경우 BPF_MAP_TYPE_INODE_STORAGE 생성 거부

CONFIG_BPF_LSM=y가 설정되면 BPF inode 저장소 맵(BPF_MAP_TYPE_INODE_STORAGE)이 커널에 컴파일됩니다. 그러나 부팅 시점에 BPF LSM이 명시적으로 활성화되지 않은 경우(예: "lsm=" 부트 매개변수에서 생략된 경우), bpf_lsm()을 위한 lsm_prepare()가 실행되지 않습니다.

결과적으로, BPF inode 보안 블롭 오프셋(bpf_lsm_blob_sizes.lbs_inode)이 초기화되지 않고 예약된 struct rcu_head 이후의 유효한 오프셋(일반적으로 16바이트 이상)으로 업데이트되는 대신 기본 컴파일 크기인 8바이트로 유지됩니다.

특권 사용자가 BPF_MAP_TYPE_INODE_STORAGE 맵을 생성하고 업데이트하면 bpf_inode()가 inode->i_security + 8를 평가합니다. 이는inode->i_security 블롭 시작 부분에 있는 struct rcu_head.func 콜백 포인터와 잘못되어 별칭(alias)이 됩니다. 이후 맵 요소 정리 또는 inode 파괴 과정에서 owner_storage에 NULL을 쓰면 대기 중인 RCU 콜백 포인터가 지워집니다. 나중에 rcu_do_batch()가 대기 중인 콜백을 실행할 때 주소 0x0에서 명령어 페치를 시도하여 즉시 커널 패닉이 발생합니다.

__ro_after_init 플래그로 표시된 전역 bpf_lsm_initialized 부울 변수를 도입함으로써 이를 수정합니다. LSM 프레임워크가 BPF LSM을 성공적으로 등록하면 bpf_lsm_init() 내부에서 이 플래그를 true로 설정합니다. inode_storage_map_alloc()에서의 맵 할당을 이 플래그에 게이트하여, 만약 BPF LSM이 초기화되지 않은 경우 -EOPNOTSUPP를 반환합니다.

이러한 fail-fast 접근 방식은 지원되는 BPF LSM 인프라가 부재할 때 사용자 공간에서 inode 저장소 맵을 할당하는 것을 방지하여 좀비 맵 상태를 피합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-380671

EPSS

0.00000

활동

낮음

출처

Might our Artificial Intelligence support you?

Check our Alexa App!