CVE-2022-50578
Published: Oct 22, 2025
Modified: May 11, 2026
Description
In the Linux kernel, the following vulnerability has been resolved: class: fix possible memory leak in __class_register() If class_add_groups() returns error, the 'cp->subsys' need be unregister, and the 'cp' need be freed. We can not call kset_unregister() here, because the 'cls' will be freed in callback function class_release() and it's also freed in caller's error path, it will cause double free. So fix this by calling kobject_del() and kfree_const(name) to cleanup kobject. Besides, call kfree() to free the 'cp'. Fault injection test can trigger this: unreferenced object 0xffff888102fa8190 (size 8): comm "modprobe", pid 502, jiffies 4294906074 (age 49.296s) hex dump (first 8 bytes): 70 6b 74 63 64 76 64 00 pktcdvd. backtrace: [<00000000e7c7703d>] __kmalloc_track_caller+0x1ae/0x320 [<000000005e4d70bc>] kstrdup+0x3a/0x70 [<00000000c2e5e85a>] kstrdup_const+0x68/0x80 [<000000000049a8c7>] kvasprintf_const+0x10b/0x190 [<0000000029123163>] kobject_set_name_vargs+0x56/0x150 [<00000000747219c9>] kobject_set_name+0xab/0xe0 [<0000000005f1ea4e>] __class_register+0x15c/0x49a unreferenced object 0xffff888037274000 (size 1024): comm "modprobe", pid 502, jiffies 4294906074 (age 49.296s) hex dump (first 32 bytes): 00 40 27 37 80 88 ff ff 00 40 27 37 80 88 ff ff .@'7.....@'7.... 00 00 00 00 ad 4e ad de ff ff ff ff 00 00 00 00 .....N.......... backtrace: [<00000000151f9600>] kmem_cache_alloc_trace+0x17c/0x2f0 [<00000000ecf3dd95>] __class_register+0x86/0x49a
| Vendor | Product | Versions |
|---|---|---|
Linux | Linux | affected ced6473e7486702f530a49f886b73195e4977734 - < 4efa5443817c1b6de22d401aeca5b2481e835f8caffected ced6473e7486702f530a49f886b73195e4977734 - < 3bb9c92c27624ad076419a70f2b1a30cd1f8bbbdaffected ced6473e7486702f530a49f886b73195e4977734 - < 3e0efc3f3f5e5c73996782f8db69963e501bb878affected ced6473e7486702f530a49f886b73195e4977734 - < 18a7200646958cf8e1b8a933de08122fc50676cdaffected ced6473e7486702f530a49f886b73195e4977734 - < 417ef049e3fd3b0d2593c1d5ffa3d0d5d0a018a7+3 more versions |
Linux | Linux | affected 4.10unaffected 0 - < 4.10unaffected 4.14.303 - <= 4.14.*unaffected 4.19.270 - <= 4.19.*unaffected 5.4.229 - <= 5.4.*+5 more versions |
References
Security Training
Train your team to recognize and prevent security threats with our comprehensive security awareness program.
Start TrainingVulnerability Scanning
Discover vulnerabilities in your applications and infrastructure before attackers do.
Scan Now