CVE-2023-54050
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
ubifs: Fix memleak when insert_old_idx() failed
Following process will cause a memleak for copied up znode:
dirty_cow_znode zn = copy_znode(c, znode); err = insert_old_idx(c, zbr->lnum, zbr->offs); if (unlikely(err)) return ERR_PTR(err); // No one refers to zn.
Fetch a reproducer in [Link].
Function copy_znode() is split into 2 parts: resource allocation and znode replacement, insert_old_idx() is split in similar way, so resource cleanup could be done in error handling path without corrupting metadata(mem & disk). It's okay that old index inserting is put behind of add_idx_dirt(), old index is used in layout_leb_in_gaps(), so the two processes do not depend on each other.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d < cc29c7216d7f057eb0613b97dc38c7e1962a88d2 | affected |
| Linux | Linux | 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d < 6f2eee5457bc48b0426dedfd78cdbdea241a6edb | affected |
| Linux | Linux | 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d < 66e9f2fb3e753f820bec2a98e8c6387029988320 | affected |
| Linux | Linux | 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d < 3ae75f82c33fa1b4ca2006b55c84f4ef4a428d4d | affected |
| Linux | Linux | 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d < ef9aac603659e9ffe7d69ae16e3f0fc0991a965b | affected |
| Linux | Linux | 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d < 79079cebbeed624b9d01cfcf1e3254ae1a1f6e14 | affected |
| Linux | Linux | 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d < a6da0ab9847779e05a7416c7a98148b549de69ef | affected |
| Linux | Linux | 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d < b5fda08ef213352ac2df7447611eb4d383cce929 | affected |
| Linux | Linux | 2.6.27 | affected |
| Linux | Linux | 0 < 2.6.27 | unaffected |
| Linux | Linux | 4.19.283 <= 4.19.* | unaffected |
| Linux | Linux | 5.4.243 <= 5.4.* | unaffected |
| Linux | Linux | 5.10.180 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.111 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.28 <= 6.1.* | unaffected |
| Linux | Linux | 6.2.15 <= 6.2.* | unaffected |
| Linux | Linux | 6.3.2 <= 6.3.* | unaffected |
| Linux | Linux | 6.4 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/cc29c7216d7f057eb0613b97dc38c7e1962a88d2
- https://git.kernel.org/stable/c/6f2eee5457bc48b0426dedfd78cdbdea241a6edb
- https://git.kernel.org/stable/c/66e9f2fb3e753f820bec2a98e8c6387029988320
- https://git.kernel.org/stable/c/3ae75f82c33fa1b4ca2006b55c84f4ef4a428d4d
- https://git.kernel.org/stable/c/ef9aac603659e9ffe7d69ae16e3f0fc0991a965b
- https://git.kernel.org/stable/c/79079cebbeed624b9d01cfcf1e3254ae1a1f6e14
- https://git.kernel.org/stable/c/a6da0ab9847779e05a7416c7a98148b549de69ef
- https://git.kernel.org/stable/c/b5fda08ef213352ac2df7447611eb4d383cce929
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.