製品・ソフトウェアに関する情報
LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性
Title LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。xfsにおける2つのbtreeを再検証する際に削除されたカーソルをチェックする問題です。空き領域およびinodeのbtree修復関数は両方のbtreeを同時に再構築し、その後、破損が解消されたことを確認するために両方のbtreeを評価する必要があります。しかし、Jiaming Zhangはsyzbotを実行し、2回目のxchk_allocbt呼び出しでクラッシュを引き起こしました。彼の根本原因分析は以下の通りです(若干の修正を含みます)。xrep_revalidate_allocbt()ではxchk_allocbt()が2回呼ばれます(最初はBNOBT、次にCNTBT)。この問題の原因は最初の呼び出しが2回目の呼び出しで必要なカーソルを無効化したことにあります。まず、以下の呼び出しチェーンでxrep_revalidate_allocbt()に入ります。xfs_file_ioctl() - xfs_ioc_scrubv_metadata() - xfs_scrub_metadata() - sc-ops-repair_eval(sc) - xrep_revalidate_allocbt()。この関数内でxchk_allocbt()が2回呼ばれます。最初の呼び出しでsm-sm_typeはXFS_SCRUB_TYPE_BNOPTです。呼び出しチェーンはxchk_allocbt() - xchk_btree() - bs-scrub_rec(bs, recp) - xchk_allocbt_rec() - xchk_allocbt_xref() - xchk_allocbt_xref_other()です。sm_typeがXFS_SCRUB_TYPE_BNOBTなのでpurは&sc-sa.cnt_curに設定されます。カーネルはxfs_alloc_get_rec()を呼び、EFSCORRUPTEDを返しました。呼び出しチェーンはxfs_alloc_get_rec() - xfs_btree_get_rec() - xfs_btree_check_block() - (XFS_IS_CORRUPT || XFS_TEST_ERROR)です。前者は偽、後者は真でEFSCORRUPTEDを返しました。これはioctl$XFS_IOC_ERROR_INJECTIONによるものと推察されます。xchk_allocbt_xref_other()に戻るとxfs_alloc_get_rec()からEFSCORRUPTEDを受け取りカーネルはxchk_should_check_xref()を呼びます。この関数内で*curpp(sc-sa.cnt_curを指します)が無効化されます。xrep_revalidate_allocbt()に戻るとsc-sa.cnt_curが無効化されたため、xchk_allocbt()(2回目の呼び出し) - xchk_btree()にてヌルポインタデリファレンスが発生しました。まとめると、bnobt再検証はクロスリファレンス試行で失敗し、そのためcntbtのカーソルを削除し、その後cntbtを再検証しようとした際にクラッシュしました。したがって、その再検証前にヌルのcntbtカーソルをチェックし、修復は未完了としてマークします。また最初のbtreeが再構築されているが既に破損している場合は、2つ目のツリーを完全に無視して構いません。同様の修正をxrep_revalidate_iallocbtにも適用します。これは同じ問題を持っているためです。

Possible impacts 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date March 18, 2026, midnight
Registration Date May 25, 2026, 10:24 a.m.
Last Update May 25, 2026, 10:24 a.m.
CVSS3.0 : 警告
Score 5.5
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected System
Linux
Linux Kernel 6.13 以上 6.18.16 未満
Linux Kernel 6.19 以上 6.19.6 未満
Linux Kernel 6.8 以上 6.12.75 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月25日]
  掲載
May 25, 2026, 10:24 a.m.