CVE-2026-74338 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 15.

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

bpf: 로드 시 수면 가능(sleepable) BPF_LSM_CGROUP 프로그램을 거부함

cgroup shim은 rcu_read_lock_dont_migrate() 하에서 실행되므로, 해당 위치에 어떤 수면 가능한 BPF 프로그램도 연결해서는 안 됩니다. LSM cgroup 부착을 대상으로 하는 수면 가능한 BPF 프로그램의 로드 시도를 명시적으로 거부하도록 검증기(verifier)에 지원을 추가합니다.

이 수정 없이 방금 열기(file_open)에 부착되고 bpf_get_dentry_xattr() 호출 시 BPF_F_SLEEPABLE 플래그가 설정된 BPF_LSM_CGROUP 프로그램을 사용하면 다음과 같은 스플래트(splat, 커널 패닉 또는 경고 메시지)가 발생합니다:

BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1567 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 34317, name: load preempt_count: 0, expected: 0 RCU nest depth: 2, expected: 0 Call Trace: down_read+0x76/0x480 ext4_xattr_get+0x11f/0x700 __vfs_getxattr+0xf0/0x150 bpf_get_dentry_xattr+0xbb/0xf0 bpf_prog_e76a298dac9218c6_test_open+0x6a/0x85 __cgroup_bpf_run_lsm_current+0x326/0x840 bpf_trampoline_6442534646+0x62/0x14d security_file_open+0x34/0x60 do_dentry_open+0x340/0x1260 vfs_open+0x7a/0x440 path_openat+0x1bac/0x30a0

libbpf는 lsm_cgroup를 제외한 모든 수면 가능한 프로그램 유형에 대해 .s 접미사가 붙은 섹션 변형(section variant)을 제공합니다. 이는 per-cgroup LSM 프로그램이 비수면 가능(non-sleepable) 컨텍스트에서만 실행되도록 의도되었음을 반영합니다.

위의 스플래트는 bpf(2)를 직접 사용하여 libbpf의 우회(bypassing)를 통해 얻은 것입니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

출처

Do you know our Splunk app?

Download it now for free!