Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 before cebb20b9a29cfc90bf56e54337333084f85a69dd; affected 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 before 690da9177e64bcfda2f4c0b5b8465178e4a236d8; affected 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 before b3cc411daa50b39ba5706492a80a5a0804d9c85f; affected 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 before 4cb3ff31d237ad1f515455c497ef07d7172d912b; affected 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 before 943b8dc2c6044c01e36395f51bb809a4b6bdfd22; affected 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 before da00eac19feef209c9591e48c860afc2014603be; affected 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 before fbb5a60f5c31b5625f0d89a79912fbcb2559289b; affected 206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 before bbff0ccbff360a5498075525005f6a913239a3d7 |
| Linux / Linux | affected 2.6.35; unaffected 0 before 2.6.35; unaffected 5.10.270 through 5.10.*; unaffected 5.15.221 through 5.15.*; unaffected 6.1.188 through 6.1.*; unaffected 6.6.157 through 6.6.*; unaffected 6.12.109 through 6.12.*; unaffected 6.18.50 through 6.18.*; unaffected 7.2.4 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/cebb20b9a29cfc90bf56e54337333084f85a69dd
- https://git.kernel.org/stable/c/690da9177e64bcfda2f4c0b5b8465178e4a236d8
- https://git.kernel.org/stable/c/b3cc411daa50b39ba5706492a80a5a0804d9c85f
- https://git.kernel.org/stable/c/4cb3ff31d237ad1f515455c497ef07d7172d912b
- https://git.kernel.org/stable/c/943b8dc2c6044c01e36395f51bb809a4b6bdfd22
- https://git.kernel.org/stable/c/da00eac19feef209c9591e48c860afc2014603be
- https://git.kernel.org/stable/c/fbb5a60f5c31b5625f0d89a79912fbcb2559289b
- https://git.kernel.org/stable/c/bbff0ccbff360a5498075525005f6a913239a3d7