JVNDB-2026-020099 | |
LinuxのLinux Kernelにおける整数オーバーフローの脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、次の脆弱性が修正されました。slubのkrealloc()におけるデータ損失およびオーバーフローの問題です。コミット2cd8231796b5("mm/slub: allow to set node and align in k[v]realloc")により、オブジェクトが縮小される場合でも、新しいアライメントやNUMAノードの条件を満たさない場合に再割り当てを強制できる機能が追加されました。しかし、これにより再割り当てのフォールバックパスで2つのバグが発生しました。1つ目はNUMA移行時のデータ損失で、alloc_newへのジャンプがksおよびorig_sizeの初期化前に行われるため、alloc_newブロック内のmemcpy()が新しい割り当てに0バイトをコピーしてしまいます。2つ目は縮小時のバッファオーバーフローで、強制的に新しいアライメントを設定してオブジェクトを縮小する際、新しいサイズ(new_size)は旧サイズより小さいにもかかわらず、memcpy()が旧サイズ(orig_size ?: ks)を使用するため境界外書き込みが発生します。同様のオーバーフローバグはkvrealloc()のフォールバックパスにも存在し、新しいサイズで制限されずに旧バケットサイズksize(p)が新しいバッファにコピーされてしまいます。問題の簡単な再現例はlkdtmにKREALLOC_SHRINK_OVERFLOWとして追加されており、以下のように示されています。while (1) {void *p = kmalloc(128, GFP_KERNEL); p = krealloc_node_align(p, 64, 256, GFP_KERNEL, NUMA_NO_NODE); kfree(p);}これにより、memcpy_origで120バイトの境界外書き込みが発生し、KFENCEがこれを検出します。修正は__do_krealloc()の冒頭で旧サイズの計算を移動し、すべてのコピー長を新しい割り当てサイズで制限することにより実施されました。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/05/27 |
| 登録日 | 2026/06/17 |
| 最終更新日 | 2026/06/17 |



