製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
Title LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました:netfilterのnft_ctにおけるtimeoutオブジェクト破棄時のUse-After-Freeの問題を修正しました。nft_ct_timeout_obj_destroy()関数はnf_ct_untimeout()直後にkfree()でtimeoutオブジェクトを解放していましたが、RCUのグレース期間を待たずに解放を行っていました。そのため、他のCPUにおける並行パケット処理がnf_ct_timeout_data()内でrcu_dereference()経由で取得されたtimeoutオブジェクトへのRCU保護された参照を保持している可能性がありました。これを受けて、struct nf_ct_timeoutにrcu_headを追加し、kfree_rcu()を用いてRCUグレース期間後に解放を遅延させる方法を採用しました。この対応はnfnetlink_cttimeout.cで既に用いられている手法と一致しています。KASANのレポートによると、nf_conntrack_tcp_packet関数内でサイズ4の読み取りに関するslab-use-after-freeエラーが発生しました。このエラーはアドレスffff8881035fe19cにてタスクexploit/80によって検出され、コールトレースにはnf_conntrack_tcp_packet、nf_conntrack_in、nf_hook_slow、__ip_local_out、tcp_sendmsg_locked、__sys_sendtoが含まれていました。割り当てはタスク75によってnft_ct_timeout_obj_init、nft_obj_init、nf_tables_newobj、nfnetlink_rcv_batch関数群内で実施され、解放はタスク26によってnft_obj_destroy、nf_tables_trans_destroy_work、process_one_workが関与して行われました。

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

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

Publication Date April 24, 2026, midnight
Registration Date April 30, 2026, 12:31 p.m.
Last Update April 30, 2026, 12:31 p.m.
CVSS3.0 : 重要
Score 7.8
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected System
Linux
Linux Kernel 4.19
Linux Kernel 4.19.1 以上 5.10.253 未満
Linux Kernel 5.11 以上 5.15.203 未満
Linux Kernel 5.16 以上 6.1.169 未満
Linux Kernel 6.13 以上 6.18.23 未満
Linux Kernel 6.19 以上 6.19.13 未満
Linux Kernel 6.2 以上 6.6.135 未満
Linux Kernel 6.7 以上 6.12.82 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年04月30日]
  掲載
April 30, 2026, 12:31 p.m.

NVD Vulnerability Information
CVE-2026-31665
Summary

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

netfilter: nft_ct: fix use-after-free in timeout object destroy

nft_ct_timeout_obj_destroy() frees the timeout object with kfree()
immediately after nf_ct_untimeout(), without waiting for an RCU grace
period. Concurrent packet processing on other CPUs may still hold
RCU-protected references to the timeout object obtained via
rcu_dereference() in nf_ct_timeout_data().

Add an rcu_head to struct nf_ct_timeout and use kfree_rcu() to defer
freeing until after an RCU grace period, matching the approach already
used in nfnetlink_cttimeout.c.

KASAN report:
BUG: KASAN: slab-use-after-free in nf_conntrack_tcp_packet+0x1381/0x29d0
Read of size 4 at addr ffff8881035fe19c by task exploit/80

Call Trace:
nf_conntrack_tcp_packet+0x1381/0x29d0
nf_conntrack_in+0x612/0x8b0
nf_hook_slow+0x70/0x100
__ip_local_out+0x1b2/0x210
tcp_sendmsg_locked+0x722/0x1580
__sys_sendto+0x2d8/0x320

Allocated by task 75:
nft_ct_timeout_obj_init+0xf6/0x290
nft_obj_init+0x107/0x1b0
nf_tables_newobj+0x680/0x9c0
nfnetlink_rcv_batch+0xc29/0xe00

Freed by task 26:
nft_obj_destroy+0x3f/0xa0
nf_tables_trans_destroy_work+0x51c/0x5c0
process_one_work+0x2c4/0x5a0

Publication Date April 25, 2026, 12:16 a.m.
Registration Date April 25, 2026, 4:08 a.m.
Last Update April 28, 2026, 12:16 a.m.
Related information, measures and tools
Common Vulnerabilities List