CVE-2023-53481
published 2025-10-01CVE-2023-53481: 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…
PriorityP420medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.15%
4.7th percentile
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].
Affected
21 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | linux | < linux 6.1.20-1 (bookworm) | linux 6.1.20-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | >= 43f9b25a9cdd7b177f77f026b1461abd1abbd174 < b40d2fbf47af58377e898b5062077a47bb28a132 | b40d2fbf47af58377e898b5062077a47bb28a132 |
| linux | linux | >= 43f9b25a9cdd7b177f77f026b1461abd1abbd174 < f006f596fe851c3b6aae60b79f89f89f0e515d2f | f006f596fe851c3b6aae60b79f89f89f0e515d2f |
| linux | linux | >= 43f9b25a9cdd7b177f77f026b1461abd1abbd174 < b5be23f6ae610bdb262160a1f294afee6d0e6a69 | b5be23f6ae610bdb262160a1f294afee6d0e6a69 |
| linux | linux | >= 43f9b25a9cdd7b177f77f026b1461abd1abbd174 < 8a18856e074479bd050b01e688c58defadce7ab0 | 8a18856e074479bd050b01e688c58defadce7ab0 |
| linux | linux | >= 43f9b25a9cdd7b177f77f026b1461abd1abbd174 < 3afaaf6f5867dc4ad383808d4053f428ec7b867d | 3afaaf6f5867dc4ad383808d4053f428ec7b867d |
| linux | linux | >= 43f9b25a9cdd7b177f77f026b1461abd1abbd174 < cc4bc532acda66189bddc03b3fe1ad689d9a48a2 | cc4bc532acda66189bddc03b3fe1ad689d9a48a2 |
| linux | linux | >= 43f9b25a9cdd7b177f77f026b1461abd1abbd174 < 5af1c643184a5d09ff5b3f334077a4d0a163c677 | 5af1c643184a5d09ff5b3f334077a4d0a163c677 |
| linux | linux | >= 43f9b25a9cdd7b177f77f026b1461abd1abbd174 < 4d57a7333e26040f2b583983e1970d9d460e56b0 | 4d57a7333e26040f2b583983e1970d9d460e56b0 |
| linux | linux_kernel | >= 0 < 5.10.178-1 | 5.10.178-1 |
| linux | linux_kernel | >= 0 < 6.1.20-1 | 6.1.20-1 |
| linux | linux_kernel | >= 0 < 6.1.20-1 | 6.1.20-1 |
| linux | linux_kernel | >= 0 < 6.1.20-1 | 6.1.20-1 |
| linux | linux_kernel | >= 2.6.25 < 4.14.308 | 4.14.308 |
| linux | linux_kernel | >= 4.15 < 4.19.276 | 4.19.276 |
| linux | linux_kernel | >= 4.20 < 5.4.235 | 5.4.235 |
| linux | linux_kernel | >= 5.11 < 5.15.100 | 5.15.100 |
| linux | linux_kernel | >= 5.16 < 6.1.18 | 6.1.18 |
| linux | linux_kernel | >= 5.5 < 5.10.173 | 5.10.173 |
| linux | linux_kernel | >= 6.2 < 6.2.5 | 6.2.5 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
CVE-2023-53481: In the Linux kernel, the following vulnerability has been resolved: ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed Following pr
osv·2025-10-01·CVSS 5.5
CVE-2023-53481 [MEDIUM] CVE-2023-53481: In the Linux kernel, the following vulnerability has been resolved: ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed Following pr
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() retur
GHSA
GHSA-3pv3-rmr2-25g2: In the Linux kernel, the following vulnerability has been resolved:
ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
Following
ghsa_unreviewed·2025-10-01
CVE-2023-53481 [MEDIUM] CWE-835 GHSA-3pv3-rmr2-25g2: In the Linux kernel, the following vulnerability has been resolved:
ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
Following
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()
Red Hat
kernel: ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
vendor_redhat·2025-10-01·CVSS 5.5
CVE-2023-53481 [MEDIUM] CWE-834 kernel: ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
kernel: ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
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_bgtubi_bgt
ubifs_leb_unmap
ubi_leb_unmap
ubi_eba_unmap_leb
ubi_wl_put_pebwear_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
Debian
CVE-2023-53481: linux - In the Linux kernel, the following vulnerability has been resolved: ubi: ubi_wl...
vendor_debian·2023·CVSS 5.5
CVE-2023-53481 [MEDIUM] CVE-2023-53481: linux - In the Linux kernel, the following vulnerability has been resolved: ubi: ubi_wl...
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() retur
No detection rules found.
No public exploits indexed.
https://git.kernel.org/stable/c/3afaaf6f5867dc4ad383808d4053f428ec7b867dhttps://git.kernel.org/stable/c/4d57a7333e26040f2b583983e1970d9d460e56b0https://git.kernel.org/stable/c/5af1c643184a5d09ff5b3f334077a4d0a163c677https://git.kernel.org/stable/c/8a18856e074479bd050b01e688c58defadce7ab0https://git.kernel.org/stable/c/b40d2fbf47af58377e898b5062077a47bb28a132https://git.kernel.org/stable/c/b5be23f6ae610bdb262160a1f294afee6d0e6a69https://git.kernel.org/stable/c/cc4bc532acda66189bddc03b3fe1ad689d9a48a2https://git.kernel.org/stable/c/f006f596fe851c3b6aae60b79f89f89f0e515d2f
2025-10-01
Published