| タイトル | LinuxのLinux Kernelにおける有効期限後のメモリの解放の欠如に関する脆弱性 |
|---|---|
| 概要 | Linuxカーネルにおいて、以下の脆弱性が修正されました:smbサーバのトランスポート割り当て失敗時に発生するactive_num_connのリークです。コミット77ffbcac4e56("smb: server: ksmbd_tcp_new_connection()内のactive_num_connリーク修正")はkthread_run()の失敗経路に対処しました。同じ関数内の以前のalloc_transport() == NULL経路にも同様のリークが存在し、これは認証前にTCPポート445への任意の接続で到達可能でした。UML(ARCH=um, v7.0-rc7)環境で経験的に再現されています。強制的な割り当て失敗が少数でも、ksmbdは起動後の残りの期間中に後続のすべての接続試行を拒否する状態になります。ksmbd_kthread_fn()はksmbd_tcp_new_connection()を呼び出す前にactive_num_connをインクリメントし、戻り値を破棄するため、alloc_transport()がNULLを返すとソケットは解放され-ENOMEMが返されますが、カウンタは減算されません。この失敗はそれぞれmax_connectionsプールからスロットを永続的に消費します。累積失敗がしきい値に達するとatomic_inc_return()は以降のすべてのacceptでしきい値に達し、新規接続はすべて拒否される状態になります。カウンタはモジュールの再読み込みによってのみリセットされます。未認証のリモート攻撃者は、大きなRFC1002長さ(MAX_STREAM_PROT_LEN(0x00FFFFFF)まで)の接続を保持することでalloc_transport()失敗を引き起こすメモリ圧力にサーバを追い込むことができます。負荷の高いホストでは自然な一時的割り当て失敗も同様の状態を遅れて引き起こす可能性があります。ksmbd_kthread_fn()内の既存のロールバックパターンに従い、alloc_transport()失敗経路ではserver_conf.max_connectionsにより制御される条件下でactive_num_connを減算します。再現詳細としては、パッチが戻された場合、強制的にalloc_transport()がNULLを返すことでカウンタースロットがリークし、強制失敗期間後に発行された正当な接続を含む後続の接続試行はすべて「接続数の最大制限」のため拒否されました。このパッチを適用すると同じ接続シーケンスで拒否は発生せず、カウンターはacceptごとにゼロと1の間できれいに循環します。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月1日0:00 |
| 登録日 | 2026年5月8日12:05 |
| 最終更新日 | 2026年5月8日12:05 |
| CVSS3.0 : 重要 | |
| スコア | 7.5 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| Linux |
| Linux Kernel 5.15.91 以上 5.16 未満 |
| Linux Kernel 6.1.9 以上 6.2 未満 |
| Linux Kernel 6.13 以上 6.18.25 未満 |
| Linux Kernel 6.19 以上 7.0.2 未満 |
| Linux Kernel 6.2 |
| Linux Kernel 6.2.1 以上 6.6.136 未満 |
| Linux Kernel 6.7 以上 6.12.84 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月08日] 掲載 |
2026年5月8日12:05 |
| 概要 | In the Linux kernel, the following vulnerability has been resolved: smb: server: fix active_num_conn leak on transport allocation failure Commit 77ffbcac4e56 ("smb: server: fix leak of active_num_conn in ksmbd_kthread_fn() increments active_num_conn before calling An unauthenticated remote attacker can drive the server toward the Mirror the existing rollback pattern in ksmbd_kthread_fn(): on the Repro details: with the patch reverted, forced alloc_transport() |
|---|---|
| 公表日 | 2026年5月1日23:16 |
| 登録日 | 2026年5月2日4:06 |
| 最終更新日 | 2026年5月7日5:18 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.91 | 5.16 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1.9 | 6.2 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2.1 | 6.6.136 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 | 6.12.84 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.25 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 7.0.2 | |||
| cpe:2.3:o:linux:linux_kernel:6.2:-:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:6.2:rc6:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:6.2:rc7:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:6.2:rc8:*:*:*:*:*:* | |||||