most: core: fix resource leak in most_register_interface error paths
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.75, 6.18.16, 6.19.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: most: core: fix resource leak in most_register_interface error paths The function most_register_interface() did not correctly release resources if it failed early (before registering the device). In these cases, it returned an error code immediately, leaking the memory allocated for the interface. Fix this by initializing the device early via device_initialize() and calling put_device() on all error paths. The most_register_interface() is expected to call put_device() on error which frees the resources allocated in the caller. The put_device() either calls release_mdev() or dim2_release(), depending on the caller. Switch to using device_add() instead of device_register() to handle the split initialization.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 723de0f9171eeb49a3ae98cae82ebbbb992b3a7c · fixed in 82f42a13e3d7a07a950ee4fa2d4c74843a3e7ace; From 723de0f9171eeb49a3ae98cae82ebbbb992b3a7c · fixed in a49028a796d7b94f8e3ab9bd34b18f36be235459; From 723de0f9171eeb49a3ae98cae82ebbbb992b3a7c · fixed in af0b99b2214a10554adb5b868240d23af6e64e71; From 723de0f9171eeb49a3ae98cae82ebbbb992b3a7c · fixed in 2f483f3817fb0e4209ac5de928778b1da0cc8574; From 723de0f9171eeb49a3ae98cae82ebbbb992b3a7c · fixed in 1f4c9d8a1021281750c6cda126d6f8a40cc24e71
- Linux Linux
5.6
- KernelLinux
From 5.6.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.75; From 6.13.0 · fixed in 6.18.16; From 6.19.0 · fixed in 6.19.6