CVE-2026-64435 in Linux정보

요약

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

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

audit: audit_queue에 대한 skb_queue_len() 리더들의 데이터 레이싱 수정

여러 리더가 큐 잠금(lock)을 보유하거나 READ_ONCE()를 사용하지 않고 audit_queue.qlen 필드에 접근합니다. 반면, kauditd는 스핀락으로 보호된 WRITE_ONCE()로 skb_dequeue() → __skb_unlink() 경로를 통해 해당 필드를 작성(write)합니다. 이는 데이터 레이싱에 해당합니다.

모든 영향을 받는 skb_queue_len(&audit_queue) 호출 위치: - kauditd_thread() wait_event_freezable() 조건문 - audit_receive_msg() AUDIT_GET 핸들러 (s.backlog 할당) - audit_receive() 백로그 확인(backlog check) - audit_log_start() 백로그 확인 및 pr_warn()

KCSAN은 다음 충돌하는 접근 패턴(예시 하나)을 보고합니다: ================================================================== BUG: KCSAN: data-race in audit_log_start / skb_dequeue

write (표시됨): 작업(task) 661이 cpu 57에서 4바이트 크기인 주소 0xffffffff8512ee20에 쓰기 수행: skb_dequeue+0x70/0xf0 kauditd_send_queue+0x71/0x220 kauditd_thread+0x1cb/0x430 kthread+0x1c2/0x210 ret_from_fork+0x162/0x1a0 ret_from_fork_asm+0x1a/0x30

read: 작업(task) 36586이 cpu 1에서 주소 0xffffffff8512ee20의 4바이트를 읽기 수행: audit_log_start+0x2a0/0x6b0 audit_core_dumps+0x64/0xa0 do_coredump+0x14b/0x1260 get_signal+0xeb2/0xf70 arch_do_signal_or_restart+0x41/0x170 exit_to_user_mode_loop+0xa2/0x1c0 do_syscall_64+0x1a3/0x1c0 entry_SYSCALL_64_after_hwframe+0x76/0xe0

값 변경: 0x00000001 -> 0x00000000 ==================================================================

레이싱을 해결하기 위해 내부적으로 READ_ONCE()를 사용하고 작성자(writer) 측에 이미 존재하는 WRITE_ONCE() 쓰기 접근과 올바르게 페어링되는 잠금 없는 헬퍼(lockless helper)인 skb_queue_len_lockless()로 전환합니다.

[PM: 줄 길이 조정]

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

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383232

EPSS

0.00220

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!