製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける不特定の脆弱性
Title LinuxのLinux Kernelにおける不特定の脆弱性
Summary

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フェーズで事前に登録されていることを示します。

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

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

Publication Date May 1, 2026, midnight
Registration Date May 8, 2026, 12:24 p.m.
Last Update May 8, 2026, 12:24 p.m.
CVSS3.0 : 警告
Score 5.5
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected System
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 (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月08日]
  掲載
May 8, 2026, 12:24 p.m.

NVD Vulnerability Information
CVE-2026-31722
Summary

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.

Publication Date May 2, 2026, 12:16 a.m.
Registration Date May 2, 2026, 4:07 a.m.
Last Update May 7, 2026, 5:55 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
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:*:*:*:*:*:*
Related information, measures and tools
Common Vulnerabilities List