CVE-2022-49381
Description
In the Linux kernel, the following vulnerability has been resolved: jffs2: fix memory leak in jffs2_do_fill_super If jffs2_iget() or d_make_root() in jffs2_do_fill_super() returns an error, we can observe the following kmemleak report: -------------------------------------------- unreferenced object 0xffff888105a65340 (size 64): comm "mount", pid 710, jiffies 4302851558 (age 58.239s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff859c45e5>] kmem_cache_alloc_trace+0x475/0x8a0 [<ffffffff86160146>] jffs2_sum_init+0x96/0x1a0 [<ffffffff86140e25>] jffs2_do_mount_fs+0x745/0x2120 [<ffffffff86149fec>] jffs2_do_fill_super+0x35c/0x810 [<ffffffff8614aae9>] jffs2_fill_super+0x2b9/0x3b0 [...] unreferenced object 0xffff8881bd7f0000 (size 65536): comm "mount", pid 710, jiffies 4302851558 (age 58.239s) hex dump (first 32 bytes): bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................ bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................ backtrace: [<ffffffff858579ba>] kmalloc_order+0xda/0x110 [<ffffffff85857a11>] kmalloc_order_trace+0x21/0x130 [<ffffffff859c2ed1>] __kmalloc+0x711/0x8a0 [<ffffffff86160189>] jffs2_sum_init+0xd9/0x1a0 [<ffffffff86140e25>] jffs2_do_mount_fs+0x745/0x2120 [<ffffffff86149fec>] jffs2_do_fill_super+0x35c/0x810 [<ffffffff8614aae9>] jffs2_fill_super+0x2b9/0x3b0 [...] -------------------------------------------- This is because the resources allocated in jffs2_sum_init() are not released. Call jffs2_sum_exit() to release these resources to solve the problem.
CVSS Details
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Threat Intelligence
Weaknesses 1
Affected Products 8
| Vendor | Product | Version | Range |
|---|---|---|---|
| linux | linux_kernel | * | ≥2.6.15 – <4.9.318 |
| linux | linux_kernel | * | ≥4.10 – <4.14.283 |
| linux | linux_kernel | * | ≥4.15 – <4.19.247 |
| linux | linux_kernel | * | ≥4.20 – <5.4.198 |
| linux | linux_kernel | * | ≥5.5 – <5.10.122 |
| linux | linux_kernel | * | ≥5.11 – <5.15.47 |
| linux | linux_kernel | * | ≥5.16 – <5.17.15 |
| linux | linux_kernel | * | ≥5.18 – <5.18.4 |
References 9
- git.kernel.org https://git.kernel.org/stable/c/28048a4cf3813b7cf5cc8cce629dfdc7951cb1c2
- git.kernel.org https://git.kernel.org/stable/c/3252d327f977b14663a10967f3b0930d6c325687
- git.kernel.org https://git.kernel.org/stable/c/4ba7bbeab8009faf3a726e565d98816593ddd5b0
- git.kernel.org https://git.kernel.org/stable/c/4da8763a3d2b684c773b72ed80fad40bc264bc40
- git.kernel.org https://git.kernel.org/stable/c/69295267c481545f636b69ff341b8db75aa136b9
- git.kernel.org https://git.kernel.org/stable/c/c14adb1cf70a984ed081c67e9d27bc3caad9537c
- git.kernel.org https://git.kernel.org/stable/c/cf9db013e167bc8fc2ecd7a13ed97a37df0c9dab
- git.kernel.org https://git.kernel.org/stable/c/d3a4fff1e7e408c32649030daa7c2c42a7e19a95
- git.kernel.org https://git.kernel.org/stable/c/ecc53e58596542791e82eff00702f8af7a313f70
Remediation
- git.kernel.org https://git.kernel.org/stable/c/28048a4cf3813b7cf5cc8cce629dfdc7951cb1c2
- git.kernel.org https://git.kernel.org/stable/c/3252d327f977b14663a10967f3b0930d6c325687
- git.kernel.org https://git.kernel.org/stable/c/4ba7bbeab8009faf3a726e565d98816593ddd5b0
- git.kernel.org https://git.kernel.org/stable/c/4da8763a3d2b684c773b72ed80fad40bc264bc40
- git.kernel.org https://git.kernel.org/stable/c/69295267c481545f636b69ff341b8db75aa136b9
- git.kernel.org https://git.kernel.org/stable/c/c14adb1cf70a984ed081c67e9d27bc3caad9537c
- git.kernel.org https://git.kernel.org/stable/c/cf9db013e167bc8fc2ecd7a13ed97a37df0c9dab
- git.kernel.org https://git.kernel.org/stable/c/d3a4fff1e7e408c32649030daa7c2c42a7e19a95
- git.kernel.org https://git.kernel.org/stable/c/ecc53e58596542791e82eff00702f8af7a313f70