HID: roccat: free buffered reports when destroying device
- 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 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, and 2 more
- 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: HID: roccat: free buffered reports when destroying device roccat_report_event() duplicates each report with kmemdup() and stores the allocation in a circular-buffer slot. The allocation is released only when that slot is reused. The device destruction paths free struct roccat_device without releasing reports still stored in cbuf[]. This makes those allocations unreachable and leaks up to ROCCAT_CBUF_SIZE report buffers per device. Add a small destructor that frees every buffered report before freeing the device, and use it in both paths that can destroy a registered device.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 · fixed in cebb20b9a29cfc90bf56e54337333084f85a69dd; From 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 · fixed in 690da9177e64bcfda2f4c0b5b8465178e4a236d8; From 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 · fixed in b3cc411daa50b39ba5706492a80a5a0804d9c85f; From 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 · fixed in 4cb3ff31d237ad1f515455c497ef07d7172d912b; From 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 · fixed in 943b8dc2c6044c01e36395f51bb809a4b6bdfd22; From 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 · fixed in da00eac19feef209c9591e48c860afc2014603be; From 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 · fixed in fbb5a60f5c31b5625f0d89a79912fbcb2559289b; From 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 · fixed in bbff0ccbff360a5498075525005f6a913239a3d7
- Linux Linux
2.6.35
- KernelLinux
From 2.6.35 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.109; From 6.13.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4
References 8
git.kernel.org
- stable/c/cebb20b9a29cfc90bf56e54337333084f85a69dd
- stable/c/690da9177e64bcfda2f4c0b5b8465178e4a236d8
- stable/c/b3cc411daa50b39ba5706492a80a5a0804d9c85f
- stable/c/4cb3ff31d237ad1f515455c497ef07d7172d912b
- stable/c/943b8dc2c6044c01e36395f51bb809a4b6bdfd22
- stable/c/da00eac19feef209c9591e48c860afc2014603be
- stable/c/fbb5a60f5c31b5625f0d89a79912fbcb2559289b
- stable/c/bbff0ccbff360a5498075525005f6a913239a3d7