CVE-2025-40012 in Linux
요약
\~에 의해 VulDB • 2026. 08. 14.
리눅스 커널에서 다음 취약점이 해결되었습니다:
net/smc: get_page() 호출 시 smc_rx_splice()에서의 경고 수정
smc_lo_register_dmb()는 kzalloc()을 사용하여 DMB(Domain Memory Block) 버퍼를 할당하며, 이는 나중에 smc_rx_splice() 내에서 get_page()로 전달됩니다. kmalloc 메모리는 페이지 기반(page-backed)이 아니므로, 이로 인해 get_page()에서 WARN_ON_ONCE()가 트리거되어 버퍼에 대한 참조 카운트(refcount) 유지가 방지됩니다. splice_to_pipe() 완료 전에 메모리가 해제되면 use-after-free 취약점으로 이어질 수 있습니다.
대신 folio_alloc()을 사용하여 DMB가 페이지 기반이 되도록 보장하고 get_page()에서 안전하게 사용할 수 있도록 합니다.
WARNING: CPU: 18 PID: 12152 at ./include/linux/mm.h:1330 smc_rx_splice+0xaf8/0xe20 [smc]
CPU: 18 UID: 0 PID: 12152 Comm: smcapp Kdump: loaded Not tainted 6.17.0-rc3-11705-g9cf4672ecfee #10 NONE Hardware name: IBM 3931 A01 704 (z/VM 7.4.0) Krnl PSW : 0704e00180000000 000793161032696c (smc_rx_splice+0xafc/0xe20 [smc])
R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3 Krnl GPRS: 0000000000000000 001cee80007d3001 000774000000
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.