| Title | LinuxのLinux Kernelにおける整数アンダーフローの脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました。xfsでは、空の属性リーフフリーマップエントリを削除する処理の問題です。コミット2a2b5932db6758("xfs: fix attr leaf header freemap.size underflow")にて、Brian Foster氏は、xattrエントリ配列の末尾にある小さなフリーマップが、エントリ配列の拡張によって消費されるスペースを引く際にサイズのアンダーフローを引き起こす可能性があることを指摘しました。フリーマップエントリは3つしかなく、リーフブロックのすべての空きスペースの完全なインデックスではありません。このコードは、サイズが0だがベースがゼロでないフリーマップエントリを残すことがあります。以降のsetxattr操作により、ベースが別のフリーマップエントリと重なるまで増加する場合があります。これはそれ自体は問題ではなく、_leaf_addで空きスペースを検索するコードはサイズ0のフリーマップエントリを無視します。しかし、_leaf_add内のフリーマップ更新コードには別のバグがあり、新たに配列に追加されたxattrエントリの途中から始まるフリーマップエントリを更新しません。これにより、同じベースでサイズが異なる二つのフリーマップエントリ(「押し上げられた」エントリは0サイズ、実際に空きスペースを追跡するエントリは0でないサイズ)が存在する状態となります。続く_leaf_addはエントリ配列上にxattr namevalueエントリを割り当て、データの損失を引き起こす可能性があります。しかし、この問題の修正は後日行われる予定です。現在は、サイズが0のフリーマップエントリのベースをゼロにして混乱の可能性を排除しています。フリーマップは空きスペースの完全なインデックスを意図していないため、新しいxattrに空きスペースが見つからなければブロック圧縮がトリガーされ、フリーマップが再生成されます。このバグはコードベースに長期間存在していました。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | May 6, 2026, midnight |
| Registration Date | May 13, 2026, 10:23 a.m. |
| Last Update | May 13, 2026, 10:23 a.m. |
| CVSS3.0 : 重要 | |
| Score | 8.8 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 2.6.12 |
| Linux Kernel 2.6.12.1 以上 5.10.252 未満 |
| Linux Kernel 5.11 以上 5.15.202 未満 |
| Linux Kernel 5.16 以上 6.1.165 未満 |
| Linux Kernel 6.13 以上 6.18.16 未満 |
| Linux Kernel 6.19 以上 6.19.6 未満 |
| Linux Kernel 6.2 以上 6.6.128 未満 |
| Linux Kernel 6.7 以上 6.12.75 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月13日] 掲載 |
May 13, 2026, 10:23 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: xfs: delete attr leaf freemap entries when empty Back in commit 2a2b5932db6758 ("xfs: fix attr leaf header freemap.size This code can leave behind a zero-length freemap entry with a nonzero However, there's another bug in the freemap update code in _leaf_add, For now, eliminate the possibility of confusion by zeroing out the base It looks like this bug has been in the codebase for quite a long time. |
|---|---|
| Publication Date | May 6, 2026, 9:16 p.m. |
| Registration Date | May 7, 2026, 4:08 a.m. |
| Last Update | May 12, 2026, 5:38 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.12.1 | 5.10.252 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 | 5.15.202 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 | 6.1.165 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 | 6.6.128 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 | 6.12.75 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.16 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.6 | |||
| cpe:2.3:o:linux:linux_kernel:2.6.12:-:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:* | |||||