Linux Distros のパッチ未適用の脆弱性: CVE-2026-31726

medium Nessus プラグイン ID 311565

概要

Linux/Unix ホストには、ベンダーにより修正されていないことを示す脆弱性を持つ複数のパッケージがインストールされています。

説明

Linux/Unix ホストには、ベンダーが提供するパッチが利用できない脆弱性の影響を受ける複数のパッケージがインストールされています。

- usb: gadget: uvc: fix NULL ポインタの非参照 unbind レース中にコミット b81ac4395bbe (usb: gadget: uvc:
アプリケーションがクリーンにシャットダウンできるように)は、複数のカーネルパニックを防ぐために、uvc_function_unbind()に合計1500msの2段階の同期待ちを導入しました。しかし、このタイミングベースのアプローチは電力管理(PM)遷移時には不十分です。PMサブシステムがユーザースペースのプロセスを凍結し始めると、wait_event_interruptible_timeout()は早期に停止され、アンバインドスレッドが進行してガジェットポインタを無効化できます(cdev->gadget = NULL): [ 814.123447][ T947] configfs-gadget.g1 gadget.0: uvc: uvc_function_unbind() [ 814.178583][ T3173] PM: エントリを一時停止(深く) [ 814.192487][ T3173] ユーザースペースプロセスを凍結 [ 814.197668][ T947] configfs-gadget.g1 gadget.0: uvc: uvc_function_unbind no clean disconnect, wait for release: no clean disconnect, wait time release: PMサブシステムがサスペンドを再開または中止しタスクが再起動されると、V4L2のリリースパスが実行され、すでに無効化されたガジェットポインタにアクセスしようと試み、カーネルパニックを引き起こします: [ 814.292597][ C0] PM: pm_system_irq_wakeup: 479がトリガー dhdpcie_host_wake [814.386727][ T3173] タスクの再起動 ...[ 814.403522][ T4558] 仮想アドレスでのカーネルNULLポインタ参照を処理できません 0000000000000030 [ 814.404021][ T4558] PC : usb_gadget_deactivate+0x14/0xf4 [ 814.404031][ T4558] lr : usb_function_deactivate+0x54/0x94 [ 814.404078][ T4558] コールトレース: [ 814.404080][ T4558] usb_gadget_deactivate+0x14/0xf4 [ 814.404083][ T4558] usb_function_deactivate+0x54/0x94 [ 814.404087][ T4558] uvc_function_disconnect+0x1c/0x5c [ 814.404092][ T4558] uvc_v4l2_release+0x44/0xac [ 814.404095][ T4558] v4l2_release+0xcc/0x130 競合条件およびNULLポインタのデリファレンスを次のように対処します。1. 状態同期(フラグ+ミューテックス) struct uvc_deviceに「func_unbound」フラグを導入します。これにより、uvc_function_disconnect()は無効化されたcdev->gadgetポインタへのアクセスを安全にスキップできます。アラン・スターンの提案により、このフラグは新しいミューテックス(uvc->lock)によって保護されており、適切なメモリ順序付けと命令の再並べ替えや投機的ロードを防ぎます。このミューテックスは、一貫した状態管理のために「func_connected」を保護するためにも使われます。2. 明示的同期(補完) uvc_vdev_release()コールバックとuvc_function_unbind()を同期させるために補完を用います。これにより、すべてのビデオデバイスリソースが解放された後にstruct uvc_deviceが解放されることを保証し、Use-After-Free(UAF)を防ぎます。
(CVE-2026-31726)

Nessus は、ベンダーによって報告されたパッケージの存在に依存していることに注意してください。

ソリューション

現時点で既知の解決策はありません。

参考資料

https://security-tracker.debian.org/tracker/CVE-2026-31726

プラグインの詳細

深刻度: Medium

ID: 311565

ファイル名: unpatched_CVE_2026_31726.nasl

バージョン: 1.2

タイプ: Local

エージェント: unix

ファミリー: Misc.

公開日: 2026/5/2

更新日: 2026/5/2

サポートされているセンサー: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 6.1

CVSS v2

リスクファクター: Medium

基本値: 4.7

現状値: 4

ベクトル: CVSS2#AV:L/AC:M/Au:N/C:N/I:N/A:C

CVSS スコアのソース: CVE-2026-31726

CVSS v3

リスクファクター: Medium

基本値: 4.7

現状値: 4.3

ベクトル: CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

現状ベクトル: CVSS:3.0/E:U/RL:U/RC:C

脆弱性情報

CPE: p-cpe:/a:debian:debian_linux:linux, cpe:/o:debian:debian_linux:11.0

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

エクスプロイトの容易さ: No known exploits are available

脆弱性公開日: 2026/5/1

参照情報

CVE: CVE-2026-31726