CVE-2026-98502
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: HID: alps: unregister DualPoint Stick input device on remove alps_input_configured() allocates a second input device ("DualPoint Stick") with input_allocate_device() and registers it, but the alps_driver struct has no .remove handler and input2 is not tracked in hdev->inputs. The default remove path (hid_hw_stop -> hidinput_disconnect) only iterates hdev->inputs, so input2 is never unregistered and leaks on every device removal. Add a .remove handler that stops the device first (preventing URB callbacks from touching input2 during teardown) and then unregisters input2.
Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-18 16:17:01.260000
Last modified
2026-10-30 13:21:15.197000
View original CVE JSON
{
"id": "CVE-2026-98502",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-18T16:17:01.260",
"lastModified": "2026-10-30T13:21:15.197",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: alps: unregister DualPoint Stick input device on remove\n\nalps_input_configured() allocates a second input device (\"DualPoint\nStick\") with input_allocate_device() and registers it, but the\nalps_driver struct has no .remove handler and input2 is not tracked in\nhdev->inputs. The default remove path (hid_hw_stop -> hidinput_disconnect)\nonly iterates hdev->inputs, so input2 is never unregistered and leaks\non every device removal.\n\nAdd a .remove handler that stops the device first (preventing URB\ncallbacks from touching input2 during teardown) and then unregisters\ninput2."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/hid/hid-alps.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "2562756dde550901c224e3805102bdfc17e7d13a",
"lessThan": "10c14ba9a2f75be78bde46fb7f5432bf02b39676",
"versionType": "git",
"status": "affected"
},
{
"version": "2562756dde550901c224e3805102bdfc17e7d13a",
"lessThan": "3efab2a65f6062fa80322095a124c16e2fe0f119",
"versionType": "git",
"status": "affected"
},
{
"version": "2562756dde550901c224e3805102bdfc17e7d13a",
"lessThan": "0cd13b96e00cacf1b252814442d197fdff0b1f4f",
"versionType": "git",
"status": "affected"
},
{
"version": "2562756dde550901c224e3805102bdfc17e7d13a",
"lessThan": "bd9571812d02242b6bba2637fba924a78a5c6fa8",
"versionType": "git",
"status": "affected"
},
{
"version": "2562756dde550901c224e3805102bdfc17e7d13a",
"lessThan": "1170ebfba562b3938ff7749b2e42e4420f19436d",
"versionType": "git",
"status": "affected"
},
{
"version": "2562756dde550901c224e3805102bdfc17e7d13a",
"lessThan": "aa4845a710ae9fee6a3831f5c338904cea77c3aa",
"versionType": "git",
"status": "affected"
},
{
"version": "2562756dde550901c224e3805102bdfc17e7d13a",
"lessThan": "978e801750c7b0859e87eae619f7d88fcd88333e",
"versionType": "git",
"status": "affected"
},
{
"version": "2562756dde550901c224e3805102bdfc17e7d13a",
"lessThan": "aa9dde93e05a837645fdfd577eea71f0733f0694",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/hid/hid-alps.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "4.8",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.8",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.273",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.224",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.112",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.55",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.9",
"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/0cd13b96e00cacf1b252814442d197fdff0b1f4f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/10c14ba9a2f75be78bde46fb7f5432bf02b39676",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/1170ebfba562b3938ff7749b2e42e4420f19436d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3efab2a65f6062fa80322095a124c16e2fe0f119",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/978e801750c7b0859e87eae619f7d88fcd88333e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/aa4845a710ae9fee6a3831f5c338904cea77c3aa",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/aa9dde93e05a837645fdfd577eea71f0733f0694",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/bd9571812d02242b6bba2637fba924a78a5c6fa8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}