CVE-2026-74683 (GCVE-0-2026-74683)
Vulnerability from cvelistv5
Published
2026-08-22 15:32
Modified
2026-08-25 05:23
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
Input: evdev - sanitize event type index when fetching event masks
The user-supplied event type index passed to EVIOCGMASK / EVIOCSMASK
ioctls is used to index the static counts array in evdev_get_mask_cnt()
and client evmasks array in evdev_get_mask().
While the event type is architecturally bounded by EV_CNT, speculative
execution may mispredict bounds checks and perform out-of-bounds loads.
Sanitize the event type index in evdev_get_mask_cnt() branchlessly using
array_index_mask_nospec(). This clamps the index to 0 for safe array
access and forces the returned count to 0 speculatively when the index
is out of bounds.
We do not need additional array_index_nospec() calls in evdev_get_mask()
because evdev_get_mask_cnt() speculatively forces the count (and
resulting xfer_size) to 0 for out-of-bounds types, preventing any
speculative memory access to client evmasks array.
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Version: 06a16293f71927f756dcf37558a79c0b05a91641 Version: 06a16293f71927f756dcf37558a79c0b05a91641 Version: 06a16293f71927f756dcf37558a79c0b05a91641 Version: 06a16293f71927f756dcf37558a79c0b05a91641 Version: 06a16293f71927f756dcf37558a79c0b05a91641 Version: 06a16293f71927f756dcf37558a79c0b05a91641 Version: 06a16293f71927f756dcf37558a79c0b05a91641 Version: 06a16293f71927f756dcf37558a79c0b05a91641 |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/input/evdev.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "c79b08d8fa230871a3634e34a66e591ac2d084ef",
"status": "affected",
"version": "06a16293f71927f756dcf37558a79c0b05a91641",
"versionType": "git"
},
{
"lessThan": "f27fa9b39f925d26e034a1f382cb45523138f4ae",
"status": "affected",
"version": "06a16293f71927f756dcf37558a79c0b05a91641",
"versionType": "git"
},
{
"lessThan": "f3fc329acad9a71b3c077237cbac20670d2358c8",
"status": "affected",
"version": "06a16293f71927f756dcf37558a79c0b05a91641",
"versionType": "git"
},
{
"lessThan": "5db341189bb7ff041d570dbe36ecca7e32913927",
"status": "affected",
"version": "06a16293f71927f756dcf37558a79c0b05a91641",
"versionType": "git"
},
{
"lessThan": "433913b4a92214d76e9f0c03ad9128fec943d5f8",
"status": "affected",
"version": "06a16293f71927f756dcf37558a79c0b05a91641",
"versionType": "git"
},
{
"lessThan": "4034ef247a9dde3f56660b01f0c3280dac6b1274",
"status": "affected",
"version": "06a16293f71927f756dcf37558a79c0b05a91641",
"versionType": "git"
},
{
"lessThan": "810e1883d4815f29c30d900ad7333d03cc2515d1",
"status": "affected",
"version": "06a16293f71927f756dcf37558a79c0b05a91641",
"versionType": "git"
},
{
"lessThan": "3abd29c61d2ef37c4102cf755b18be53bb9dbea6",
"status": "affected",
"version": "06a16293f71927f756dcf37558a79c0b05a91641",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/input/evdev.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.4"
},
{
"lessThan": "4.4",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.265",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.216",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.183",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.152",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.104",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.45",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.265",
"versionStartIncluding": "4.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.216",
"versionStartIncluding": "4.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.183",
"versionStartIncluding": "4.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.152",
"versionStartIncluding": "4.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.104",
"versionStartIncluding": "4.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.45",
"versionStartIncluding": "4.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.9",
"versionStartIncluding": "4.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "4.4",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nInput: evdev - sanitize event type index when fetching event masks\n\nThe user-supplied event type index passed to EVIOCGMASK / EVIOCSMASK\nioctls is used to index the static counts array in evdev_get_mask_cnt()\nand client evmasks array in evdev_get_mask().\n\nWhile the event type is architecturally bounded by EV_CNT, speculative\nexecution may mispredict bounds checks and perform out-of-bounds loads.\n\nSanitize the event type index in evdev_get_mask_cnt() branchlessly using\narray_index_mask_nospec(). This clamps the index to 0 for safe array\naccess and forces the returned count to 0 speculatively when the index\nis out of bounds.\n\nWe do not need additional array_index_nospec() calls in evdev_get_mask()\nbecause evdev_get_mask_cnt() speculatively forces the count (and\nresulting xfer_size) to 0 for out-of-bounds types, preventing any\nspeculative memory access to client evmasks array."
}
],
"providerMetadata": {
"dateUpdated": "2026-08-25T05:23:19.336Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/c79b08d8fa230871a3634e34a66e591ac2d084ef"
},
{
"url": "https://git.kernel.org/stable/c/f27fa9b39f925d26e034a1f382cb45523138f4ae"
},
{
"url": "https://git.kernel.org/stable/c/f3fc329acad9a71b3c077237cbac20670d2358c8"
},
{
"url": "https://git.kernel.org/stable/c/5db341189bb7ff041d570dbe36ecca7e32913927"
},
{
"url": "https://git.kernel.org/stable/c/433913b4a92214d76e9f0c03ad9128fec943d5f8"
},
{
"url": "https://git.kernel.org/stable/c/4034ef247a9dde3f56660b01f0c3280dac6b1274"
},
{
"url": "https://git.kernel.org/stable/c/810e1883d4815f29c30d900ad7333d03cc2515d1"
},
{
"url": "https://git.kernel.org/stable/c/3abd29c61d2ef37c4102cf755b18be53bb9dbea6"
}
],
"title": "Input: evdev - sanitize event type index when fetching event masks",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74683",
"datePublished": "2026-08-22T15:32:50.192Z",
"dateReserved": "2026-08-15T05:44:03.926Z",
"dateUpdated": "2026-08-25T05:23:19.336Z",
"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…