CVE-2026-74729 in Linux
요약
\~에 의해 VulDB • 2026. 08. 22.
리눅스 커널에서 다음 취약점이 해결되었습니다:
soc: aspeed: lpc-snoop: snoop_file_read의 usercopy 오버플로우 수정
put_fifo_with_discard()는 kfifo에 대해 생산자이자 소비자 역할을 합니다. 이 함수는 IRQ 핸들러 내에서 동기화 없이 kfifo_skip()(out 포인터를 전진)과 kfifo_put()(in 포인터를 전진)을 호출합니다. 반면 snoop_file_read()도 kfifo_to_user()를 통해 소비자를 수행합니다. SMP 시스템에서 이러한 동시 접근은 (in - out) 값이 링 버퍼 크기를 초과하게 만들 수 있습니다. 이로 인해 __kfifo_to_user()'s clamp가 (in - out)에 대해 무효화되고, kfifo_copy_to_user()는 kmalloc-2k 백킹 스토리지를 벗어난 copy_to_user()를 시도할 수 있습니다:
usercopy: SLUB 객체 'kmalloc-2k'에서 커널 메모리 노출 시도가 감지되었습니다 (오프셋 0, 크기 2049)! mm/usercopy.c에서 커널 BUG 발생! 콜 트레이스: usercopy_abort __check_heap_object __check_object_size kfifo_copy_to_user __kfifo_to_user snoop_file_read vfs_read
IRQ 핸들러(생산자)와 파일 리더(소비자) 간에 공유되는 채널별 spinlock을 사용하여 kfifo 접근을 직렬화합니다. @fifo를 __guarded_by(&lock)로 주석 처리하고, 컴파일러가 모든 fifo 접근에서 잠금을 보유하도록 드라이버를 컨텍스트 분석 옵션으로 활성화합니다.
Once again VulDB remains the best source for vulnerability data.