CVE-2026-89627
Full vulnerability record from the local CVENow database.
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.
Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-11 20:19:48.153000
Last modified
2026-10-19 09:17:59.600000
View original CVE JSON
{
"id": "CVE-2026-89627",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-09-11T20:19:48.153",
"lastModified": "2026-10-19T09:17:59.600",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: roccat: free buffered reports when destroying device\n\nroccat_report_event() duplicates each report with kmemdup() and stores\nthe allocation in a circular-buffer slot. The allocation is released only\nwhen that slot is reused.\n\nThe device destruction paths free struct roccat_device without releasing\nreports still stored in cbuf[]. This makes those allocations unreachable\nand leaks up to ROCCAT_CBUF_SIZE report buffers per device.\n\nAdd a small destructor that frees every buffered report before freeing the\ndevice, and use it in both paths that can destroy a registered device."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/hid/hid-roccat.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378",
"lessThan": "cebb20b9a29cfc90bf56e54337333084f85a69dd",
"versionType": "git",
"status": "affected"
},
{
"version": "206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378",
"lessThan": "690da9177e64bcfda2f4c0b5b8465178e4a236d8",
"versionType": "git",
"status": "affected"
},
{
"version": "206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378",
"lessThan": "b3cc411daa50b39ba5706492a80a5a0804d9c85f",
"versionType": "git",
"status": "affected"
},
{
"version": "206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378",
"lessThan": "4cb3ff31d237ad1f515455c497ef07d7172d912b",
"versionType": "git",
"status": "affected"
},
{
"version": "206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378",
"lessThan": "943b8dc2c6044c01e36395f51bb809a4b6bdfd22",
"versionType": "git",
"status": "affected"
},
{
"version": "206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378",
"lessThan": "da00eac19feef209c9591e48c860afc2014603be",
"versionType": "git",
"status": "affected"
},
{
"version": "206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378",
"lessThan": "fbb5a60f5c31b5625f0d89a79912fbcb2559289b",
"versionType": "git",
"status": "affected"
},
{
"version": "206f5f2fcb5ff5bb0c60f9e9189937f3ca03e378",
"lessThan": "bbff0ccbff360a5498075525005f6a913239a3d7",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/hid/hid-roccat.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "2.6.35",
"status": "affected"
},
{
"version": "0",
"lessThan": "2.6.35",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.270",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.221",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.188",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.157",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.109",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.50",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.4",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/4cb3ff31d237ad1f515455c497ef07d7172d912b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/690da9177e64bcfda2f4c0b5b8465178e4a236d8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/943b8dc2c6044c01e36395f51bb809a4b6bdfd22",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b3cc411daa50b39ba5706492a80a5a0804d9c85f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/bbff0ccbff360a5498075525005f6a913239a3d7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/cebb20b9a29cfc90bf56e54337333084f85a69dd",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/da00eac19feef209c9591e48c860afc2014603be",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/fbb5a60f5c31b5625f0d89a79912fbcb2559289b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}