{"id":"CVE-2026-89628","title":"HID: picolcd: clamp eeprom debugfs read to bytes actually received","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: picolcd: clamp eeprom debugfs read to bytes actually received\n\npicolcd_debug_eeprom_read() trusts resp->raw_data[2] -- a length byte\nsupplied by the device in its …","severity":"medium","cvss":5.5,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","cvssSource":"vendor","cwe":["CWE-805"],"vendor":"Linux","product":"Linux","affected":["Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 1a02056c2bf7ef9b5fd05ee6913aeeadb703c443","Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 65daa322f1021d8206f8032c4cd4c0cb2d26c7c3","Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 8dc662af019158690c470edd2e2857657f700abb","Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 4daf432c94a42e7be6aa10b012b33af5ed9bc118","Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < a3e6e8d7198a9f3861861520a38b673684a1062b","Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 471f4a939c66d1d44aece2321807abf609fc9098","Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 699a3c8b56e168ca19d12722f3f5ef1d6f4b1d84","Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < e9c667395ac1f8024f623250b32bae4c7af9caa0","Linux 2.6.35"],"published":"2026-09-11","updated":"2026-10-19","sourceUpdated":"2026-10-19T08:50:00.490Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89628","references":[{"url":"https://git.kernel.org/stable/c/1a02056c2bf7ef9b5fd05ee6913aeeadb703c443"},{"url":"https://git.kernel.org/stable/c/65daa322f1021d8206f8032c4cd4c0cb2d26c7c3"},{"url":"https://git.kernel.org/stable/c/8dc662af019158690c470edd2e2857657f700abb"},{"url":"https://git.kernel.org/stable/c/4daf432c94a42e7be6aa10b012b33af5ed9bc118"},{"url":"https://git.kernel.org/stable/c/a3e6e8d7198a9f3861861520a38b673684a1062b"},{"url":"https://git.kernel.org/stable/c/471f4a939c66d1d44aece2321807abf609fc9098"},{"url":"https://git.kernel.org/stable/c/699a3c8b56e168ca19d12722f3f5ef1d6f4b1d84"},{"url":"https://git.kernel.org/stable/c/e9c667395ac1f8024f623250b32bae4c7af9caa0"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89628.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-89628"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2532179"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-89628"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89628"},{"url":"https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89628.mbox"}],"tags":["cve.org","csaf","vex","red-hat"],"epss":0.0022,"epssPercentile":0.12451,"ingestedAt":"2026-09-14T15:23:07.450Z","slug":"CVE-2026-89628","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nHID: picolcd: clamp eeprom debugfs read to bytes actually received\n\npicolcd_debug_eeprom_read() trusts resp->raw_data[2] -- a length byte\nsupplied by the device in its REPORT_EE_DATA reply -- clamped only to\nthe caller's read() count:\n\n\tret = resp->raw_data[2];\n\tif (ret > s)\n\t\tret = s;\n\tif (copy_to_user(u, resp->raw_data+3, ret))\n\nIt never checks resp->raw_size, the number of bytes picolcd_raw_event()\nactually copied into the 64-byte raw_data[] of the kmalloc'd struct\npicolcd_pending. A device (or a spoofed picoLCD) returning a length byte\nof 0xff, read with a count >= 255, makes copy_to_user() read past\nraw_data[] into adjacent slab memory and return it to userspace through\nthe debugfs \"eeprom\" file:\n\n\tBUG: KASAN: slab-out-of-bounds in _copy_to_user\n\tRead of size 255 ... picolcd_debug_eeprom_read+0x214/0x2f0 [hid_picolcd]\n\nThe debug-dump path in the same file already validates the device length\nbyte against the received size before trusting it; this read does not.\nThe file is created S_IRUSR (root-only) and a crafted device is needed,\nso it is neither unprivileged- nor remotely-triggerable.\n\nClamp the copy length to resp->raw_size - 3 (the payload actually\nreceived, minus the 3-byte header), floored at 0 for short replies.\n\n## Affected\n\n- `Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 1a02056c2bf7ef9b5fd05ee6913aeeadb703c443`\n- `Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 65daa322f1021d8206f8032c4cd4c0cb2d26c7c3`\n- `Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 8dc662af019158690c470edd2e2857657f700abb`\n- `Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 4daf432c94a42e7be6aa10b012b33af5ed9bc118`\n- `Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < a3e6e8d7198a9f3861861520a38b673684a1062b`\n- `Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 471f4a939c66d1d44aece2321807abf609fc9098`\n- `Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < 699a3c8b56e168ca19d12722f3f5ef1d6f4b1d84`\n- `Linux >= 9bbf2b98ba11d00bd73e3254e15cfe17ccaff6ba < e9c667395ac1f8024f623250b32bae4c7af9caa0`\n- `Linux 2.6.35`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, … · updated 2026-09-18 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89628.json)","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":30.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":208069,"id":"CVE-2026-89628","ts":1789922704205,"field":"cvss","old":"5.4","new":"5.5"},{"seq":204065,"id":"CVE-2026-89628","ts":1789490231280,"field":"cvss","old":null,"new":"5.4"},{"seq":204064,"id":"CVE-2026-89628","ts":1789490231280,"field":"severity","old":"none","new":"medium"},{"seq":147606,"id":"CVE-2026-89628","ts":1789270211571,"field":"cvss","old":null,"new":"5.4"},{"seq":147605,"id":"CVE-2026-89628","ts":1789270211571,"field":"severity","old":"none","new":"medium"},{"seq":109360,"id":"CVE-2026-89628","ts":1789183731607,"field":"cvss","old":null,"new":"5.4"},{"seq":109359,"id":"CVE-2026-89628","ts":1789183731607,"field":"severity","old":"none","new":"medium"}]}