Description
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].
Product status
801c135ce73d5df1caf3eca35b66a10824ae0707 (git) before 3f9b63dfce44a7c3c095dd93d910408e07ab1845
801c135ce73d5df1caf3eca35b66a10824ae0707 (git) before 84250da1c63cb7d421a3b4812b5c2ce2e47d31a1
801c135ce73d5df1caf3eca35b66a10824ae0707 (git) before 1cb14c06d6035539ef4215c4ba0871aea71d7c38
801c135ce73d5df1caf3eca35b66a10824ae0707 (git) before 9d448dd6bcb61a508204b57ea1f454ba9bac2f24
801c135ce73d5df1caf3eca35b66a10824ae0707 (git) before 79548ccdd992707879b4b683b7251c58ddf26f12
801c135ce73d5df1caf3eca35b66a10824ae0707 (git) before 84253f3c2dad6be10d30c92626c763d9a9f512ad
801c135ce73d5df1caf3eca35b66a10824ae0707 (git) before a100de2974d208cfca032179b02ed4d1a0a7f143
801c135ce73d5df1caf3eca35b66a10824ae0707 (git) before a240bc5c43130c6aa50831d7caaa02a1d84e1bce
2.6.22
Any version before 2.6.22
4.14.308 (semver)
4.19.276 (semver)
5.4.235 (semver)
5.10.173 (semver)
5.15.100 (semver)
6.1.18 (semver)
6.2.5 (semver)
6.3 (original_commit_for_fix)
References
git.kernel.org/...c/3f9b63dfce44a7c3c095dd93d910408e07ab1845
git.kernel.org/...c/84250da1c63cb7d421a3b4812b5c2ce2e47d31a1
git.kernel.org/...c/1cb14c06d6035539ef4215c4ba0871aea71d7c38
git.kernel.org/...c/9d448dd6bcb61a508204b57ea1f454ba9bac2f24
git.kernel.org/...c/79548ccdd992707879b4b683b7251c58ddf26f12
git.kernel.org/...c/84253f3c2dad6be10d30c92626c763d9a9f512ad
git.kernel.org/...c/a100de2974d208cfca032179b02ed4d1a0a7f143
git.kernel.org/...c/a240bc5c43130c6aa50831d7caaa02a1d84e1bce