Linuxカーネルにおいて、以下の脆弱性が修正されました。usb: usblp: LPGETSTATUS ioctlを介した初期化されていないヒープリークの問題です。このドライバの以前の問題と同様に、usblp_ctrl_msg()はusb_control_msg()の戻り値である実際に転送されたバイト数を破棄し、0またはエラーコード(-errno)に折り畳みます。本来はその短いコマンドを検出してエラーを返すべきですが、多くのプリンタが「不正な」応答を返すため、それはできません。statusbufはプローブ時にkmalloc(8)で割り当てられ、最初のLPGETSTATUS ioctlの前に一度も初期化されていません。usblp_read_status()は1バイトの要求を行います。悪意のあるプリンタが0バイトで応答した場合、*statusbufはstaleなkmallocヒープの1バイトとなり、それがローカルのint型変数であるstatusに符号拡張され、LPGETSTATUS経路を通じて直接ioctl呼び出し元にcopy_to_user()されます。この問題は、プローブ時にメモリバッファをゼロクリアすることで修正されました。後の呼び出しで短い読み取りが発生しても、デバイスが最後に送信したものと同一であるため、情報の漏洩は発生しません。
Linux Linux Kernel 2.6.12.1 以上 5.10.258 未満 Linux Kernel 5.11 以上 5.15.209 未満 Linux Kernel 5.16 以上 6.1.175 未満 Linux Kernel 6.13 以上 6.18.30 未満 Linux Kernel 6.19 以上 7.0.7 未満 Linux Kernel 6.2 以上 6.6.140 未満 Linux Kernel 6.7 以上 6.12.88 未満 Linux Kernel 2.6.12 Linux Kernel 7.1
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
初期化されていないリソースの使用(CWE-908) [NVD評価]
CVE-2026-46167
National Vulnerability Database (NVD) : CVE-2026-46167 関連文書 : usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d06d937b0a4cdb8867f04275c8100a8b943da31a) 関連文書 : usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/0f7c41314ebf17049917a452684db371babf711a) 関連文書 : usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a502b997668401a6821501fc98b7f9220f9b6ff2) 関連文書 : usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6b0e7438e31c74b01514d31ff35c1e688c4baaba) 関連文書 : usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/762a6ccf391db0d629e590a803a3a2231e17dd3f) 関連文書 : usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/087d97342c100138ea7d75a50977c9c2319f957b) 関連文書 : usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b38e53cbfb9d84732e5984fbd73e128d592415c5) 関連文書 : usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cf24991619be317e2769310b4a367bf4a04b82bc)
[2026年06月11日] 掲載