{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-89729", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2026-09-11T19:38:34.760Z", "datePublished": "2026-09-11T19:46:39.823Z", "dateUpdated": "2026-10-19T08:51:42.570Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-10-19T08:51:42.570Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: sensor-hub: Fix out-of-bounds write in sensor_hub_get_feature\n\nsensor_hub_get_feature() clamps its return value to the caller's buffer\nsize, but the copy loop still copies field->report_size / 8 bytes for\neach report value. A malicious HID descriptor can advertise a large\nfeature field size while an IIO caller supplies a small stack buffer,\nsuch as a single s32, causing an out-of-bounds write.\n\nHID core stores parsed report values in __s32 slots and clamps extracted\nvalues to 32 bits. Reject feature fields that require more than one slot\nper value, guard the total byte count calculation, and clamp each\nper-value copy to the remaining caller buffer." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:A - hid-sensor-hub matches HID_BUS_ANY/HID_GROUP_SENSOR_HUB, so a Bluetooth HID/HoGP peripheral can present a Sensor-page descriptor and drive the bug over an adjacent wireless link; USB is only physical, and Adjacent is the most severe reasonable transport.\nAC:L - The attacker fully controls the report descriptor (report_size up to 256 bits, report_count, power-state feature) and GET_REPORT payload; IIO probe then copies report_size/8 bytes into a 4-byte stack buffer with no race or uncontrolled condition required.\nPR:N - A malicious HID peripheral is sufficient: hid-sensor-hub and IIO clients autoload and call sensor_hub_get_feature() during enumeration, with no local account, capability, or init-namespace privilege on the victim.\nUI:N - hid_sensor_parse_common_attributes() calls sensor_hub_get_feature() from IIO probe as soon as the device connects or auto-reconnects and MFD cells are registered; no extra victim open, mount, or confirmation is required.\nS:U - The out-of-bounds write corrupts host kernel stack/heap in HID/IIO processing and does not cross a VM, IOMMU, or other separate security authority.\nC:H - The unbounded memcpy reads field->value and adjacent kernel memory into an overflowed stack frame, and GET_REPORT values are attacker-controlled; this kernel memory corruption can be leveraged for information disclosure.\nI:H - This is a kernel stack out-of-bounds write of up to 32 attacker-influenced bytes into IIO callers' 4-byte s32 buffers, enabling control-flow hijacking; out-of-bounds writes are High integrity.\nA:H - Stack or adjacent-memory corruption from the unbounded copy causes a kernel oops/panic (canary, bad control flow, or heap corruption), denying availability until reboot." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/hid/hid-sensor-hub.c" ], "versions": [ { "version": "5459ada2b3cd69e6bf1b0c034feb810975d0072b", "lessThan": "1c0463f0f028801a933f090cd2695f132635b374", "status": "affected", "versionType": "git" }, { "version": "5459ada2b3cd69e6bf1b0c034feb810975d0072b", "lessThan": "4145aa149a32e4b35d5d47e380d0c6c438b4e6fe", "status": "affected", "versionType": "git" }, { "version": "5459ada2b3cd69e6bf1b0c034feb810975d0072b", "lessThan": "8bf8aaf2f74de64f801eb30bc38927dba1f8e40a", "status": "affected", "versionType": "git" }, { "version": "5459ada2b3cd69e6bf1b0c034feb810975d0072b", "lessThan": "c5c60260a07e627084e792ea959ab468ccfa4d50", "status": "affected", "versionType": "git" }, { "version": "5459ada2b3cd69e6bf1b0c034feb810975d0072b", "lessThan": "fa95b14198b6c8ea721b4784f466d3c2c2bac83a", "status": "affected", "versionType": "git" }, { "version": "5459ada2b3cd69e6bf1b0c034feb810975d0072b", "lessThan": "9f43499ce6458a572b781f6bb46c464ab59fa825", "status": "affected", "versionType": "git" }, { "version": "5459ada2b3cd69e6bf1b0c034feb810975d0072b", "lessThan": "bc3d72c44bff17688dc5f3e5132a53b51dae0f04", "status": "affected", "versionType": "git" }, { "version": "5459ada2b3cd69e6bf1b0c034feb810975d0072b", "lessThan": "c92693f3ed099401d0383ef35ca1fe1e6ba033de", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/hid/hid-sensor-hub.c" ], "versions": [ { "version": "4.9", "status": "affected" }, { "version": "0", "lessThan": "4.9", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.270", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.221", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.188", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.157", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.12.109", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.18.50", "lessThanOrEqual": "6.18.*", "status": "unaffected", "versionType": "semver" }, { "version": "7.2.4", "lessThanOrEqual": "7.2.*", "status": "unaffected", "versionType": "semver" }, { "version": "7.3", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9", "versionEndExcluding": "5.10.270" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9", "versionEndExcluding": "5.15.221" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9", "versionEndExcluding": "6.1.188" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9", "versionEndExcluding": "6.6.157" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9", "versionEndExcluding": "6.12.109" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9", "versionEndExcluding": "6.18.50" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9", "versionEndExcluding": "7.2.4" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9", "versionEndExcluding": "7.3" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/1c0463f0f028801a933f090cd2695f132635b374" }, { "url": "https://git.kernel.org/stable/c/4145aa149a32e4b35d5d47e380d0c6c438b4e6fe" }, { "url": "https://git.kernel.org/stable/c/8bf8aaf2f74de64f801eb30bc38927dba1f8e40a" }, { "url": "https://git.kernel.org/stable/c/c5c60260a07e627084e792ea959ab468ccfa4d50" }, { "url": "https://git.kernel.org/stable/c/fa95b14198b6c8ea721b4784f466d3c2c2bac83a" }, { "url": "https://git.kernel.org/stable/c/9f43499ce6458a572b781f6bb46c464ab59fa825" }, { "url": "https://git.kernel.org/stable/c/bc3d72c44bff17688dc5f3e5132a53b51dae0f04" }, { "url": "https://git.kernel.org/stable/c/c92693f3ed099401d0383ef35ca1fe1e6ba033de" } ], "title": "HID: sensor-hub: Fix out-of-bounds write in sensor_hub_get_feature", "x_generator": { "engine": "bippy-1.2.0" } } } }