CVE-2023-53481

ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed

State
Published
Severity
7.8 High
Published
Oct 1, 2025
Updated
Oct 15, 2026
Reserved
Oct 1, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed

Following process will trigger an infinite loop in ubi_wl_put_peb():

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 // return err (flash fault) out_error: ubi->move_from = ubi->move_to = NULL wl_entry_destroy(ubi, e1) ubi->lookuptbl[e->pnum] = NULL retry: e = ubi->lookuptbl[pnum]; // return NULL if (e == ubi->move_from) { // NULL == NULL gets true goto retry; // infinite loop !!!

$ top PID USER PR NI VIRT RES SHR S %CPU %MEM COMMAND 7676 root 20 0 0 0 0 R 100.0 0.0 ubifs_bgt0_0

Fix it by: 1) Letting ubi_wl_put_peb() returns directly if wearl leveling entry has been removed from 'ubi->lookuptbl'. 2) Using 'ubi->wl_lock' protecting wl entry deletion to preventing an use-after-free problem for wl entry in ubi_wl_put_peb().

Fetch a reproducer in [Link].

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 43f9b25a9cdd7b177f77f026b1461abd1abbd174 to before b40d2fbf47af58377e898b5062077a47bb28a132Affected
  • 43f9b25a9cdd7b177f77f026b1461abd1abbd174 to before f006f596fe851c3b6aae60b79f89f89f0e515d2fAffected
  • 43f9b25a9cdd7b177f77f026b1461abd1abbd174 to before b5be23f6ae610bdb262160a1f294afee6d0e6a69Affected
  • 43f9b25a9cdd7b177f77f026b1461abd1abbd174 to before 8a18856e074479bd050b01e688c58defadce7ab0Affected
  • 43f9b25a9cdd7b177f77f026b1461abd1abbd174 to before 3afaaf6f5867dc4ad383808d4053f428ec7b867dAffected
  • 43f9b25a9cdd7b177f77f026b1461abd1abbd174 to before cc4bc532acda66189bddc03b3fe1ad689d9a48a2Affected
  • 43f9b25a9cdd7b177f77f026b1461abd1abbd174 to before 5af1c643184a5d09ff5b3f334077a4d0a163c677Affected
  • 43f9b25a9cdd7b177f77f026b1461abd1abbd174 to before 4d57a7333e26040f2b583983e1970d9d460e56b0Affected
LinuxLinux
  • 2.6.25Affected
  • before 2.6.25Not affected
  • 4.14.308 through 4.14.*Not affected
  • 4.19.276 through 4.19.*Not affected
  • 5.4.235 through 5.4.*Not affected
  • 5.10.173 through 5.10.*Not affected
  • 5.15.100 through 5.15.*Not affected
  • 6.1.18 through 6.1.*Not affected
  • 6.2.5 through 6.2.*Not affected
  • 6.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.