LinuxのLinux Kernelにおける不特定の脆弱性
タイトル LinuxのLinux Kernelにおける不特定の脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。usb: gadget: f_rndisにおけるnet_deviceのライフサイクルをdevice_moveで修正しました。net_deviceは関数インスタンス作成時に割り当てられ、bindフェーズ中にgadgetデバイスをsysfsの親として登録します。関数のunbind時に親デバイスは破棄されますが、net_deviceは存続し、その結果としてsysfsにダングリングシンボリックリンクが発生します。例として、console:/ # ls -l /sys/class/net/usb0の結果はlrwxrwxrwx ... /sys/class/net/usb0 - /sys/devices/platform/.../gadget.0/net/usb0となりますが、console:/ # ls -l /sys/devices/platform/.../gadget.0/net/usb0を実行すると、そのようなファイルやディレクトリは存在しません。device_move()を使用し、bindおよびunbindサイクル間でnet_deviceをgadgetデバイスツリーと/sys/devices/virtual間で再親子付けを行います。最終的なunbind時には、device_move(NULL)を呼び出してnet_deviceをgadgetデバイスが破棄される前に仮想デバイスツリーに移動させます。再バインド時には、device_move()が新しいgadgetの下にデバイスを再親子付けし、適切なsysfsトポロジおよび電源管理の順序を保証します。レガシーコンポジットドライバ(例:multi.c)との互換性を維持するため、borrowed_netフラグが使用され、ネットワークデバイスが共有され、レガシードライバのbindフェーズで事前に登録されていることを示します。

想定される影響 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

公表日 2026年5月1日0:00
登録日 2026年5月8日12:24
最終更新日 2026年5月8日12:24
CVSS3.0 : 警告
スコア 5.5
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
Linux
Linux Kernel 3.11 以上 6.12.81 未満
Linux Kernel 6.13 以上 6.18.22 未満
Linux Kernel 6.19 以上 6.19.12 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年05月08日]
  掲載
2026年5月8日12:24

NVD脆弱性情報
CVE-2026-31722
概要

In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: f_rndis: Fix net_device lifecycle with device_move

The net_device is allocated during function instance creation and
registered during the bind phase with the gadget device as its sysfs
parent. When the function unbinds, the parent device is destroyed, but
the net_device survives, resulting in dangling sysfs symlinks:

console:/ # ls -l /sys/class/net/usb0
lrwxrwxrwx ... /sys/class/net/usb0 ->
/sys/devices/platform/.../gadget.0/net/usb0
console:/ # ls -l /sys/devices/platform/.../gadget.0/net/usb0
ls: .../gadget.0/net/usb0: No such file or directory

Use device_move() to reparent the net_device between the gadget device
tree and /sys/devices/virtual across bind and unbind cycles. During the
final unbind, calling device_move(NULL) moves the net_device to the
virtual device tree before the gadget device is destroyed. On rebinding,
device_move() reparents the device back under the new gadget, ensuring
proper sysfs topology and power management ordering.

To maintain compatibility with legacy composite drivers (e.g., multi.c),
the borrowed_net flag is used to indicate whether the network device is
shared and pre-registered during the legacy driver's bind phase.

公表日 2026年5月2日0:16
登録日 2026年5月2日4:07
最終更新日 2026年5月7日5:55
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.11 6.12.81
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 6.18.22
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 6.19.12
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
関連情報、対策とツール
共通脆弱性一覧