CVE-2022-50578

class: fix possible memory leak in __class_register()

N/A
Published: October 22, 2025 at 01:23 PM UTC
Updated: June 17, 2026 at 05:23 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

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

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.10 ≤ v < 4.14.3034.10 ≤ v < 4.19.2704.10 ≤ v < 5.10.1634.10 ≤ v < 5.15.864.10 ≤ v < 5.4.2294.10 ≤ v < 6.0.164.10 ≤ v < 6.1.24.10 ≤ v < 6.24.10ced6473e7486702f530a49f886b73195e4977734
Vendor states this is fixed in 18a7200646958cf8e1b8a933de08122fc50676cd (fixed)
Vendor states this is fixed in 3bb9c92c27624ad076419a70f2b1a30cd1f8bbbd (fixed)
Vendor states this is fixed in 3e0efc3f3f5e5c73996782f8db69963e501bb878 (fixed)
Vendor states this is fixed in 417ef049e3fd3b0d2593c1d5ffa3d0d5d0a018a7 (fixed)
Vendor states this is fixed in 4efa5443817c1b6de22d401aeca5b2481e835f8c (fixed)
Vendor states this is fixed in 8c3e8a6bdb5253b97ad532570f8b5db5f7a06407 (fixed)
Vendor states this is fixed in abaedb68a769e6bf36836b55a2f49b531c5f3f7b (fixed)
Vendor states this is fixed in e764ad5918a099ebeb909ccff83893a714e497e1 (fixed)
Vendor states this is fixed in 4.10 (unaffected)
Vendor states this is fixed in 4.14.303 (unaffected)
Vendor states this is fixed in 4.19.270 (unaffected)
Vendor states this is fixed in 5.10.163 (unaffected)
Vendor states this is fixed in 5.15.86 (unaffected)
Vendor states this is fixed in 5.4.229 (unaffected)
Vendor states this is fixed in 6.0.16 (unaffected)
Vendor states this is fixed in 6.1.2 (unaffected)
Vendor states this is fixed in 6.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusDEFERRED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card