Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d before cc29c7216d7f057eb0613b97dc38c7e1962a88d2; affected 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d before 6f2eee5457bc48b0426dedfd78cdbdea241a6edb; affected 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d before 66e9f2fb3e753f820bec2a98e8c6387029988320; affected 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d before 3ae75f82c33fa1b4ca2006b55c84f4ef4a428d4d; affected 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d before ef9aac603659e9ffe7d69ae16e3f0fc0991a965b; affected 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d before 79079cebbeed624b9d01cfcf1e3254ae1a1f6e14; affected 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d before a6da0ab9847779e05a7416c7a98148b549de69ef; affected 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d before b5fda08ef213352ac2df7447611eb4d383cce929 |
| Linux / Linux | affected 2.6.27; unaffected 0 before 2.6.27; unaffected 4.19.283 through 4.19.*; unaffected 5.4.243 through 5.4.*; unaffected 5.10.180 through 5.10.*; unaffected 5.15.111 through 5.15.*; unaffected 6.1.28 through 6.1.*; unaffected 6.2.15 through 6.2.*; unaffected 6.3.2 through 6.3.*; unaffected 6.4 through * |
CWE
No CWE identifiers supplied.
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