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

Linuxカーネルにおいて、以下の脆弱性が修正されました。UDPソケットをワイルドカードアドレスの非ゼロポートにbind()し、connect()でアドレスに接続し、その後アドレスから切断した場合に問題が発生します。bind()はsk-sk_userlocksにSOCK_BINDPORT_LOCKを設定しますが、SOCK_BINDADDR_LOCKは設定しません。一方、connect()はudp_lib_hash4()を呼び出してソケットを4タプルハッシュテーブルに格納します。次に、__udp_disconnect()がsk-sk_prot-rehash(sk)を呼び出し、ワイルドカードアドレスに基づく新しいハッシュを計算してソケットを4タプルハッシュテーブルの新しいスロットに移動しますが、パケットがヒットしないチェインにガーベッジが残る状態でした。この問題に対して、切断時にそのようなソケットを4タプルハッシュテーブルから削除するように修正しました。なお、udp_unhash4()内のudp_hash4_dec(hslot2)の後にudp_sk(sk)-udp_portaddr_hashを更新する必要があります。

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

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

Publication Date March 25, 2026, midnight
Registration Date April 27, 2026, 11:25 a.m.
Last Update April 27, 2026, 11:25 a.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 6.13
Linux Kernel 6.13.1 以上 6.18.17 未満
Linux Kernel 6.19 以上 6.19.7 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年04月27日]
  掲載
April 27, 2026, 11:25 a.m.

NVD Vulnerability Information
CVE-2026-23331
Summary

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

udp: Unhash auto-bound connected sk from 4-tuple hash table when disconnected.

Let's say we bind() an UDP socket to the wildcard address with a
non-zero port, connect() it to an address, and disconnect it from
the address.

bind() sets SOCK_BINDPORT_LOCK on sk->sk_userlocks (but not
SOCK_BINDADDR_LOCK), and connect() calls udp_lib_hash4() to put
the socket into the 4-tuple hash table.

Then, __udp_disconnect() calls sk->sk_prot->rehash(sk).

It computes a new hash based on the wildcard address and moves
the socket to a new slot in the 4-tuple hash table, leaving a
garbage in the chain that no packet hits.

Let's remove such a socket from 4-tuple hash table when disconnected.

Note that udp_sk(sk)->udp_portaddr_hash needs to be udpated after
udp_hash4_dec(hslot2) in udp_unhash4().

Summary

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:

udp: Eliminar del hash el sk conectado auto-vinculado de la tabla hash de 4-tuplas cuando se desconecta.

Supongamos que vinculamos (bind()) un socket UDP a la dirección comodín con un puerto no nulo, lo conectamos (connect()) a una dirección y lo desconectamos de la dirección.

bind() establece SOCK_BINDPORT_LOCK en sk->sk_userlocks (pero no SOCK_BINDADDR_LOCK), y connect() llama a udp_lib_hash4() para colocar el socket en la tabla hash de 4-tuplas.

Luego, __udp_disconnect() llama a sk->sk_prot->rehash(sk).

Calcula un nuevo hash basado en la dirección comodín y mueve el socket a una nueva ranura en la tabla hash de 4-tuplas, dejando basura en la cadena que ningún paquete alcanza.

Eliminemos dicho socket de la tabla hash de 4-tuplas cuando se desconecta.

Tenga en cuenta que udp_sk(sk)->udp_portaddr_hash necesita ser actualizado después de udp_hash4_dec(hslot2) en udp_unhash4().

Publication Date March 25, 2026, 8:16 p.m.
Registration Date April 27, 2026, 12:18 p.m.
Last Update April 24, 2026, 6:13 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13.1 6.18.17
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 6.19.7
cpe:2.3:o:linux:linux_kernel:6.13:-:*:*:*:*:*:*
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:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*
Related information, measures and tools
Common Vulnerabilities List