CVE-2026-80782 (GCVE-0-2026-80782)
Vulnerability from cvelistv5
Published
2026-09-04 15:12
Modified
2026-09-04 15:12
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
HID: magicmouse: do not keep a stale msc->input if no input is claimed
magicmouse_input_mapping() caches the first hid_input's input_dev in
msc->input while the report descriptor is parsed, and the rest of the
driver treats a non-NULL msc->input as proof that an input device was
registered.
That does not hold on the hid-input error path. If hidinput_connect()
fails -- for instance because input_register_device() returns an error --
it unwinds through hidinput_disconnect(), which frees every input_dev it
created, including the one cached in msc->input.
The failure does not abort the probe. hid_connect() only skips the claim:
if ((connect_mask & HID_CONNECT_HIDINPUT) && !hidinput_connect(hdev,
connect_mask & HID_CONNECT_HIDINPUT_FORCE))
hdev->claimed |= HID_CLAIMED_INPUT;
and the "device has no listeners" bailout below it does not fire for this
driver, which sets ->raw_event; on the USB Magic Mouse 2 / Magic Trackpad
2 paths hidraw and hiddev are claimed as well. hid_hw_start() therefore
returns 0 and magicmouse_probe() continues with msc->input pointing at
freed memory. Being non-NULL, it passes the "input not registered" check
in probe and the NULL checks in ->raw_event and ->event, so the next
input report dereferences freed memory.
Clear msc->input when the HID core did not claim an input device, so the
existing NULL checks cover this case as well.
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: f1a9a149abc86903e81dd1b2e720f3f89874384b Version: 0e55072e7c63a6569cab1447e9025d160abd9dd9 Version: 3.8.7 ≤ |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/hid/hid-magicmouse.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "c3597923932bb90d4fc2186aef552f6677175e4a",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"lessThan": "e0c224c93d10ee38854fdf24c815108aedd3dcb3",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"lessThan": "403cc9bd6ccb9fbe68d501c3236e5a6dd5504e14",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"lessThan": "3d7a7bac4c75f25b2513505a0ac5ba909588ed2b",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"lessThan": "9bdf8c7bfd79f1090e61d28f969b32880fd77bb3",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"lessThan": "15b60ade825c8ce9ec560048a4ae3747e4572be3",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"lessThan": "0bf253e9ac994cb5329bc87b00bb4eeca9136791",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"lessThan": "2ef16934e069d5f771e989d6ee5c3ece5042f3cd",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"lessThan": "0af3b89705688af01aa06025b84fa7a1e06ba6cc",
"status": "affected",
"version": "f1a9a149abc86903e81dd1b2e720f3f89874384b",
"versionType": "git"
},
{
"status": "affected",
"version": "0e55072e7c63a6569cab1447e9025d160abd9dd9",
"versionType": "git"
},
{
"lessThan": "3.9",
"status": "affected",
"version": "3.8.7",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/hid/hid-magicmouse.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "3.9"
},
{
"lessThan": "3.9",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.269",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.218",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.185",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.154",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.106",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.47",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.11",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.1",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc1",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.269",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.218",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.185",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.154",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.106",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.47",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.11",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.1",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3-rc1",
"versionStartIncluding": "3.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.8.7",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: magicmouse: do not keep a stale msc-\u003einput if no input is claimed\n\nmagicmouse_input_mapping() caches the first hid_input\u0027s input_dev in\nmsc-\u003einput while the report descriptor is parsed, and the rest of the\ndriver treats a non-NULL msc-\u003einput as proof that an input device was\nregistered.\n\nThat does not hold on the hid-input error path. If hidinput_connect()\nfails -- for instance because input_register_device() returns an error --\nit unwinds through hidinput_disconnect(), which frees every input_dev it\ncreated, including the one cached in msc-\u003einput.\n\nThe failure does not abort the probe. hid_connect() only skips the claim:\n\n\tif ((connect_mask \u0026 HID_CONNECT_HIDINPUT) \u0026\u0026 !hidinput_connect(hdev,\n\t\t\t\tconnect_mask \u0026 HID_CONNECT_HIDINPUT_FORCE))\n\t\thdev-\u003eclaimed |= HID_CLAIMED_INPUT;\n\nand the \"device has no listeners\" bailout below it does not fire for this\ndriver, which sets -\u003eraw_event; on the USB Magic Mouse 2 / Magic Trackpad\n2 paths hidraw and hiddev are claimed as well. hid_hw_start() therefore\nreturns 0 and magicmouse_probe() continues with msc-\u003einput pointing at\nfreed memory. Being non-NULL, it passes the \"input not registered\" check\nin probe and the NULL checks in -\u003eraw_event and -\u003eevent, so the next\ninput report dereferences freed memory.\n\nClear msc-\u003einput when the HID core did not claim an input device, so the\nexisting NULL checks cover this case as well."
}
],
"providerMetadata": {
"dateUpdated": "2026-09-04T15:12:53.933Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/c3597923932bb90d4fc2186aef552f6677175e4a"
},
{
"url": "https://git.kernel.org/stable/c/e0c224c93d10ee38854fdf24c815108aedd3dcb3"
},
{
"url": "https://git.kernel.org/stable/c/403cc9bd6ccb9fbe68d501c3236e5a6dd5504e14"
},
{
"url": "https://git.kernel.org/stable/c/3d7a7bac4c75f25b2513505a0ac5ba909588ed2b"
},
{
"url": "https://git.kernel.org/stable/c/9bdf8c7bfd79f1090e61d28f969b32880fd77bb3"
},
{
"url": "https://git.kernel.org/stable/c/15b60ade825c8ce9ec560048a4ae3747e4572be3"
},
{
"url": "https://git.kernel.org/stable/c/0bf253e9ac994cb5329bc87b00bb4eeca9136791"
},
{
"url": "https://git.kernel.org/stable/c/2ef16934e069d5f771e989d6ee5c3ece5042f3cd"
},
{
"url": "https://git.kernel.org/stable/c/0af3b89705688af01aa06025b84fa7a1e06ba6cc"
}
],
"title": "HID: magicmouse: do not keep a stale msc-\u003einput if no input is claimed",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-80782",
"datePublished": "2026-09-04T15:12:53.933Z",
"dateReserved": "2026-08-26T14:34:25.792Z",
"dateUpdated": "2026-09-04T15:12:53.933Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…