Linuxカーネルにおいて、以下の脆弱性が修正されました。ext4ファイルシステムで、truncate操作によりファイルサイズがインラインデータの容量を超えた場合に、インラインデータからextentベースのストレージへ変換する処理をext4_setattr()に追加しました。これにより、インラインデータフラグが設定されたままファイルサイズがインラインで格納可能な容量を超える不整合な状態になることを防ぎます。修正前は、以下の手順でカーネルがBUG_ON()を発生させてクラッシュしていました。1. インラインフラグがセットされていて小さいサイズのinodeを持つファイルシステムをマウントする。2. truncate(file, 50MB)でサイズを拡張するがインラインフラグは解除されなかった。3. sendfile()がデータ書き込みを試みる。4. ext4_write_inline_data()はwrite_sizeがinline_capacityを超えたためBUG_ON()を引き起こしていました。クラッシュは、ext4_write_inline_data()がインラインストレージ内への書き込みを前提としている一方で、実際のインライン容量(i_blockで約60バイト、xattrsで約96バイト)よりもファイルサイズと書き込み要求が大幅に大きいために発生していました。修正では、setattrによる新しいファイルサイズがinodeの実際のインライン容量(EXT4_I(inode)-i_inline_size)を超えた場合に、サイズ変更前にファイルをextentベースのストレージに変換し不整合を防止します。これにより、truncate操作中にインラインデータフラグとファイルサイズの整合性が維持され、根本的な問題が解決されました。
Linux Linux Kernel 3.8 以上 5.10.253 未満 Linux Kernel 5.11 以上 5.15.203 未満 Linux Kernel 5.16 以上 6.1.168 未満 Linux Kernel 6.13 以上 6.18.21 未満 Linux Kernel 6.19 以上 6.19.11 未満 Linux Kernel 6.2 以上 6.6.131 未満 Linux Kernel 6.7 以上 6.12.80 未満 Linux Kernel 7.0
当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
境界外書き込み(CWE-787) [NVD評価]
CVE-2026-31452
National Vulnerability Database (NVD) : CVE-2026-31452 関連文書 : ext4: convert inline data to extents when truncate exceeds inline size - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f53a5d9f32924bc2a810d2df243b7714da58b636) 関連文書 : ext4: convert inline data to extents when truncate exceeds inline size - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/110d7ef602659ce4d7947c5480f7ca2779696aaf) 関連文書 : ext4: convert inline data to extents when truncate exceeds inline size - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/93cb2d103e5c707de0f7ad58a39b7f0fddc27aa6) 関連文書 : ext4: convert inline data to extents when truncate exceeds inline size - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/699bac4d4c951974d55b045c983d1de777215949) 関連文書 : ext4: convert inline data to extents when truncate exceeds inline size - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7920dcc571cef3d8aa9ee109c136125d61d41669) 関連文書 : https://git.kernel.org/stable/c/07c1a31af18290054da3d18221b8bf58983c5d3a 関連文書 : ext4: convert inline data to extents when truncate exceeds inline size - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c047332be7195833a5c5126816c2502df8269fe4) 関連文書 : ext4: convert inline data to extents when truncate exceeds inline size - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ed9356a30e59c7cc3198e7fc46cfedf3767b9b17)
[2026年05月08日] 掲載