【活用ガイド】

JVNDB-2025-025059

LinuxのLinux Kernelにおける無限ループに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。ubiのubi_wl_put_peb関数において、wear-leveling作業が失敗した際に発生する無限ループが修正されました。具体的には、ubifs_bgt、ubi_bgt、ubifs_leb_unmap、ubi_leb_unmap、ubi_eba_unmap_leb、ubi_wl_put_peb、wear_leveling_workerというプロセスで無限ループが発生します。詳しくは、e1 = rb_entry(rb_first(&ubi->used))、e2 = get_peb_for_wl(ubi)、ubi_io_read_vid_hdrがエラー(フラッシュ障害)を返す場合、out_error処理においてubi->move_fromとubi->move_toがNULLに設定され、wl_entry_destroy(ubi, e1)によりubi->lookuptbl[e->pnum]もNULLになります。その後、retryラベルでe = ubi->lookuptbl[pnum];がNULLを返し、e == ubi->move_fromがNULL == NULLで真となり、goto retryによって無限ループが発生します。この結果、CPU使用率が100%に達する症状が確認されました。この問題は以下の方法で修正されました。1) wear-levelingエントリがubi->lookuptblから削除されている場合、ubi_wl_put_peb関数が直ちに戻るようにしました。2) ubi->wl_lockを用いてwlエントリの削除を保護し、ubi_wl_put_peb内でのuse-after-free問題を防止しました。再現手順は[Link]から取得可能です。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 2.6.25 以上 4.14.308 未満
  • Linux Kernel 4.15 以上 4.19.276 未満
  • Linux Kernel 4.20 以上 5.4.235 未満
  • Linux Kernel 5.11 以上 5.15.100 未満
  • Linux Kernel 5.16 以上 6.1.18 未満
  • Linux Kernel 5.5 以上 5.10.173 未満
  • Linux Kernel 6.2 以上 6.2.5 未満

想定される影響

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

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

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 無限ループ(CWE-835) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2023-53481
参考情報

  1. National Vulnerability Database (NVD) : CVE-2023-53481
  2. 関連文書 : ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f006f596fe851c3b6aae60b79f89f89f0e515d2f)
  3. 関連文書 : ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4d57a7333e26040f2b583983e1970d9d460e56b0)
  4. 関連文書 : ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b40d2fbf47af58377e898b5062077a47bb28a132)
  5. 関連文書 : ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/5af1c643184a5d09ff5b3f334077a4d0a163c677)
  6. 関連文書 : ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8a18856e074479bd050b01e688c58defadce7ab0)
  7. 関連文書 : ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3afaaf6f5867dc4ad383808d4053f428ec7b867d)
  8. 関連文書 : ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b5be23f6ae610bdb262160a1f294afee6d0e6a69)
  9. 関連文書 : ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cc4bc532acda66189bddc03b3fe1ad689d9a48a2)
更新履歴

  • [2026年01月22日]
      掲載