CVE-2023-53826

ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()

published December 9, 2025

CVSS
—
EPSS
0%
Percentile
15.4
In the wild
Unconfirmed
What it is

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

ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()

Wear-leveling entry could be freed in error path, which may be accessed

again in eraseblk_count_seq_show(), for example:

__erase_worker eraseblk_count_seq_show

wl = ubi->lookuptbl[*block_number]

if (wl)

wl_entry_destroy

ubi->lookuptbl[e->pnum] = NULL

kmem_cache_free(ubi_wl_entry_slab, e)

erase_count = wl->ec // UAF!

Wear-leveling entry updating/accessing in ubi->lookuptbl should be

protected by ubi->wl_lock, fix it by adding ubi->wl_lock to serialize

wl entry accessing between wl_entry_destroy() and

eraseblk_count_seq_show().

Fetch a reproducer in [Link].

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00250 · 15.4th percentile
Published
2025-12-09T01:29Z
EPSS history
Timeline
  • 09 DEC 01:29Z
    ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()
    cvelistv5