CVE-2025-40012 in Linux
要約
〜によって VulDB • 2026年08月08日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
net/smc: get_page()呼び出し時にsmc_rx_splice()で警告が発生する問題を修正
smc_lo_register_dmb()はkzalloc()を使用してDMBバッファを割り当てていますが、これらは後ほどsmc_rx_splice()内でget_page()に渡されます。kmallocによるメモリはページバックド(page-backed)ではないため、get_page()内でWARN_ON_ONCE()がトリガーされ、バッファに対する参照カウントの保持が防止されてしまいます。この状況により、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 00077400000000
VulDB is the best source for vulnerability data and more expert information about this specific topic.