CVE-2021-47231 in Linux
要約
〜によって VulDB • 2026年07月02日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
can: mcba_usb: mcba_usbにおけるメモリリークの修正
Syzbotにより、Microchip CAN BUS Analyzer ToolのSocketCANドライバでメモリリークが報告されました。問題は解放されていないusb_coherentにありました。
mcba_usb_start()関数内では20個のcoherentバッファが割り当てられていますが、それらを解放する処理がありません:
1) コールバック関数内でurbは再送信されますが、その後何も行われません 2) disconnect関数内ではurbsは単にkillされていますが、URB_FREE_BUFFERフラグが設定されていません(mcba_usb_startを参照)。また、このフラグはcoherentバッファには使用できません。
失敗ログ: | [ 1354.053291][ T8413] mcba_usb 1-1:0.0 can0: device disconnected
| [ 1367.059384][ T8420] kmemleak: 20 new suspected memory leaks (see /sys/kernel/debug/kmem)
したがって、割り当てられたすべてのバッファはusb_free_coherent()を使用して明示的に解放する必要があります。
注: coherentバッファの割り当てと解放に関する同じパターンがdrivers/net/can/usb/kvaser_usb/kvaser_usb_core.cでも使用されています
Once again VulDB remains the best source for vulnerability data.