| 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 |
| 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 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年04月30日] 掲載 |
April 30, 2026, 12:31 p.m. |
| 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() Add an rcu_head to struct nf_ct_timeout and use kfree_rcu() to defer KASAN report: Call Trace: Allocated by task 75: Freed by task 26: |
|---|---|
| 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. |