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

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を更新する必要があります。

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

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

公表日 2026年3月25日0:00
登録日 2026年4月27日11:25
最終更新日 2026年4月27日11:25
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 6.13
Linux Kernel 6.13.1 以上 6.18.17 未満
Linux Kernel 6.19 以上 6.19.7 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年04月27日]
  掲載
2026年4月27日11:25

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

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().

概要

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().

公表日 2026年3月25日20:16
登録日 2026年4月27日12:18
最終更新日 2026年4月24日6:13
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
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:*:*:*:*:*:*
関連情報、対策とツール
共通脆弱性一覧