CVE-2022-49381 Information

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: [] kmem_cache_alloc_trace+0x475/0x8a0 [] jffs2_sum_init+0x96/0x1a0 [] jffs2_do_mount_fs+0x745/0x2120 [] jffs2_do_fill_super+0x35c/0x810 [] 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: [] kmalloc_order+0xda/0x110 [] kmalloc_order_trace+0x21/0x130 [] __kmalloc+0x711/0x8a0 [] jffs2_sum_init+0xd9/0x1a0 [] jffs2_do_mount_fs+0x745/0x2120 [] jffs2_do_fill_super+0x35c/0x810 [] 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.

Reference

https://git.kernel.org/stable/c/28048a4cf3813b7cf5cc8cce629dfdc7951cb1c2 https://git.kernel.org/stable/c/3252d327f977b14663a10967f3b0930d6c325687 https://git.kernel.org/stable/c/4ba7bbeab8009faf3a726e565d98816593ddd5b0 https://git.kernel.org/stable/c/4da8763a3d2b684c773b72ed80fad40bc264bc40 https://git.kernel.org/stable/c/69295267c481545f636b69ff341b8db75aa136b9 https://git.kernel.org/stable/c/c14adb1cf70a984ed081c67e9d27bc3caad9537c https://git.kernel.org/stable/c/cf9db013e167bc8fc2ecd7a13ed97a37df0c9dab https://git.kernel.org/stable/c/d3a4fff1e7e408c32649030daa7c2c42a7e19a95 https://git.kernel.org/stable/c/ecc53e58596542791e82eff00702f8af7a313f70

Share on: