| Title | LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました。netfilterのnft_set_pipapoに関して、ガベージコレクションをunlinkフェーズとreclaimフェーズに分割しました。Yiming QianがpipapoセットタイプにおけるUse-after-freeの脆弱性を報告しています。多数の期限切れ要素が存在する場合、コミット時のGCが非プリエンプティブルなコンテキストで非常に長時間実行され、ソフトロックアップ警告やRCUスタールレポート(ローカルサービス拒否)を引き起こす可能性があります。そのため、GCをunlinkフェーズとreclaimフェーズに分割する必要があります。ポインタがスワップされるまで、要素の解放をキューに入れることはできません。期限切れ要素は、データ構造のライブコピーを介してパケットパスおよびユーザースペースのダンプ操作の両方から依然としてアクセス可能です。call_rcu()は保護にならず、call_rcuが発火した後に開始されたダンプ操作や要素の検索は、コミットフェーズがクローンとライブポインタのスワップを行うまで、解放された要素を観察する可能性があります。これは、最近のrbtreeバックエンドのコミット35f83a75529a("netfilter: nft_set_rbtree: don't gc elements on insert")で採用されたアプローチと類似しています。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | March 25, 2026, midnight |
| Registration Date | April 27, 2026, 11:28 a.m. |
| Last Update | April 27, 2026, 11:28 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 5.11 以上 5.15.203 未満 |
| Linux Kernel 5.16 以上 6.1.167 未満 |
| Linux Kernel 5.6 |
| Linux Kernel 5.6.1 以上 5.10.253 未満 |
| Linux Kernel 6.13 以上 6.18.17 未満 |
| Linux Kernel 6.19 以上 6.19.7 未満 |
| Linux Kernel 6.2 以上 6.6.130 未満 |
| Linux Kernel 6.7 以上 6.12.77 未満 |
| Linux Kernel 7.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年04月27日] 掲載 |
April 27, 2026, 11:28 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_set_pipapo: split gc into unlink and reclaim phase Yiming Qian reports Use-after-free in the pipapo set type: We must split GC in an unlink and a reclaim phase. We cannot queue elements for freeing until pointers have been swapped. call_rcu() does not protect us: dump operations or element lookups starting This a similar approach as done recently for the rbtree backend in commit |
|---|---|
| Summary | En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: netfilter: nft_set_pipapo: dividir la recolección de basura en una fase de desvinculación y una fase de recuperación Yiming Qian informa de un uso después de liberación en el tipo de conjunto pipapo: Debemos dividir la recolección de basura en una fase de desvinculación y una de recuperación. No podemos poner en cola elementos para su liberación hasta que los punteros hayan sido intercambiados. call_rcu() no nos protege: las operaciones de volcado o las búsquedas de elementos que comienzan después de que call_rcu se haya activado aún pueden observar el elemento liberado, a menos que la fase de commit haya progresado lo suficiente como para intercambiar los punteros de clonación y activos antes de que cualquier nuevo lector haya tomado la versión antigua. Este es un enfoque similar al realizado recientemente para el backend rbtree en el commit 35f83a75529a ('netfilter: nft_set_rbtree: no recolectar elementos en la inserción'). |
| Publication Date | March 25, 2026, 8:16 p.m. |
| Registration Date | April 27, 2026, 12:18 p.m. |
| Last Update | April 25, 2026, 3:02 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.6.1 | 5.10.253 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 | 5.15.203 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 | 6.1.167 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 | 6.6.130 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 | 6.12.77 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.17 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.7 | |||
| cpe:2.3:o:linux:linux_kernel:5.6:-:*:*:*:*:*:* | |||||
| 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:*:*:*:*:*:* | |||||