Linuxカーネルにおいて、TCPおよびUDPの送信時にタイムスタンプ付きゼロコピーソケットバッファ(skb)がメモリリークを引き起こす脆弱性が修正されました。この脆弱性は、SO_ZEROCOPYおよびSO_TIMESTAMPINGオプションを有効にしたUDPソケットでMSG_ZEROCOPYフラグ付きのsendto呼び出しを行い、その後ソケットを閉じる一連の操作で発生します。sendmsg関数内でskbが割り当てられ、refcntが1に設定されますが、送信後にskbを複製して送信タイムスタンプを付与する処理において、複製されたskbが元のubufの参照を引き継がず、参照カウントの不整合が生じます。このため、ソケットのエラーキューに残ったskbおよびソケット自身の参照が解放されず、メモリリークが発生します。TCPにおいても同様の問題があり、既存の修正は不完全でした。本修正では、複製されたskbに対し適切にオリジナルのubuf情報をコピーする処理を追加し、参照カウント管理の循環依存を解消しました。この脆弱性により、ローカルの権限を持つ攻撃者が連続してソケットを開閉することでカーネルメモリをリークさせる可能性があります。
Linux Linux Kernel 4.14 以上 4.14.315 未満 Linux Kernel 4.15 以上 4.19.283 未満 Linux Kernel 4.20 以上 5.4.243 未満 Linux Kernel 5.11 以上 5.15.111 未満 Linux Kernel 5.16 以上 6.1.28 未満 Linux Kernel 5.5 以上 5.10.180 未満 Linux Kernel 6.2 以上 6.2.15 未満 Linux Kernel 6.3 以上 6.3.2 未満
当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
有効期限後のメモリの解放の欠如(CWE-401) [NVD評価]
CVE-2023-53489
National Vulnerability Database (NVD) : CVE-2023-53489 関連文書 : tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cb52e7f24c1d01a536a847dff0d1d95889cc3b5c) 関連文書 : tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/602fa8af44fd55a58f9e94eb673e8adad2c6cc46) 関連文書 : https://git.kernel.org/stable/c/230a5ed7d813fb516de81d23f09d7506753e41e9 関連文書 : tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/426384dd4980040651536fef5feac4dcc4d7ee4e) 関連文書 : tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/281072fb2a7294cde7acbf5375b879f40a8001b7) 関連文書 : tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/30290f210ba7426ff7592fe2eb4114b1b5bad219) 関連文書 : https://git.kernel.org/stable/c/1f69c086b20e27763af28145981435423f088268 関連文書 : tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/43e4197dd5f6b474a8b16f8b6a42cd45cf4f9d1a) 関連文書 : tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/50749f2dd6854a41830996ad302aef2ffaf011d8)
[2026年01月23日] 掲載