Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 to < cebb20b9a29cfc90bf56e54337333084f85a69ddaffected206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 to < 690da9177e64bcfda2f4c0b5b8465178e4a236d8affected206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 to < b3cc411daa50b39ba5706492a80a5a0804d9c85faffected206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 to < 4cb3ff31d237ad1f515455c497ef07d7172d912baffected206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 to < 943b8dc2c6044c01e36395f51bb809a4b6bdfd22affected206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 to < da00eac19feef209c9591e48c860afc2014603beaffected206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 to < fbb5a60f5c31b5625f0d89a79912fbcb2559289baffected206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378 to < bbff0ccbff360a5498075525005f6a913239a3d7affected
Linux Linux
Default version status: affected
2.6.35affected0 to < 2.6.35unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
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 ↗