| Title | LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました:clsactのinit/destroyにおけるロールバック非対称性によるuse-after-free問題の修正です。本脆弱性は、clsactのqdiscを初期化および破棄する際のロールバック非対称性によってuse-after-freeが発生する問題です。具体的には、clsactインスタンスを完全に初期化した後に新しいclsact qdiscインスタンスの置換に失敗することで、この非対称性が生じます。clsact_init()は最初にingressを初期化し、その後egressを処理しますが、途中で例えばtcf_block_get_ext()の失敗などにより処理が中断される場合があります。失敗時にはカーネルがclsact_destroy()コールバックを実行します。コミット1cb6f0bae504("bpf: Fix too early release of tcx_entry")にてこの移行方法が詳述されています。q-ingress_block上のtcf_block_get_extが失敗した場合、ingress側ではtcx_miniq_incの参照カウントを取得していますが、egress側ではまだ取得していません。clsact_destroy()は{ingress,egress}_entryがNULLでないかを検査しますが、置換の途中失敗時でも両方とも前のclsactインスタンス由来の有効なegress_entryを持つ非NULLの状態です。真に検査すべきは、そのqdiscインスタンス固有のingressまたはegress側が以前に初期化されたかどうかです。この判定のためにhelper関数mini_qdisc_pair_initedを追加し、clsact_destroy()でそれを用いてuse-after-freeのシナリオを修正しました。同様にingress_destroy()側も修正し、両者の整合性を保ちました。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | April 2, 2026, midnight |
| Registration Date | April 27, 2026, 10:52 a.m. |
| Last Update | April 27, 2026, 10:52 a.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 6.10 |
| Linux Kernel 6.10.1 以上 6.12.78 未満 |
| Linux Kernel 6.13 以上 6.18.20 未満 |
| Linux Kernel 6.19 以上 6.19.10 未満 |
| Linux Kernel 6.6.41 以上 6.6.130 未満 |
| Linux Kernel 6.9.10 以上 6.10 未満 |
| Linux Kernel 7.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年04月27日] 掲載 |
April 27, 2026, 10:52 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: clsact: Fix use-after-free in init/destroy rollback asymmetry Fix a use-after-free in the clsact qdisc upon init/destroy rollback asymmetry. Commit 1cb6f0bae504 ("bpf: Fix too early release of tcx_entry") details the What we really need to test for is whether the qdisc instance-specific ingress |
|---|---|
| Publication Date | April 2, 2026, 9:16 p.m. |
| Registration Date | April 27, 2026, 12:21 p.m. |
| Last Update | April 25, 2026, 12:22 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.6.41 | 6.6.130 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.9.10 | 6.10 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.10.1 | 6.12.78 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.20 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.10 | |||
| cpe:2.3:o:linux:linux_kernel:6.10:-:*:*:*:*:*:* | |||||
| 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:*:*:*:*:*:* | |||||