{"id":"CVE-2026-81011","title":"platform/x86: hp-bioscfg: pass validated element count to package parsers","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nplatform/x86: hp-bioscfg: pass validated element count to package parsers\n\nThe per-type package parsers are handed the wrong element count.\n\nhp_init_bios_package_attrib…","severity":"high","cvss":7.1,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","cvssSource":"cna","cwe":["CWE-125"],"vendor":"Linux","product":"Linux","affected":["Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < 467e53f231f77a1677191b8cdabdaf1448439d55","Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < 436017808c7cbcdb5e49b2142090d4391e3de9a6","Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < a38127df99ae8b1851560b35b837c9952416143a","Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < 400cbc3ccc88a5ad37cd85056224635ce9eba018","Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < e0ddfd77c0c320b7d12b6c9169303b140b798775","Linux 6.6"],"published":"2026-09-11","updated":"2026-10-19","sourceUpdated":"2026-10-19T08:46:36.444Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-81011","references":[{"url":"https://git.kernel.org/stable/c/467e53f231f77a1677191b8cdabdaf1448439d55"},{"url":"https://git.kernel.org/stable/c/436017808c7cbcdb5e49b2142090d4391e3de9a6"},{"url":"https://git.kernel.org/stable/c/a38127df99ae8b1851560b35b837c9952416143a"},{"url":"https://git.kernel.org/stable/c/400cbc3ccc88a5ad37cd85056224635ce9eba018"},{"url":"https://git.kernel.org/stable/c/e0ddfd77c0c320b7d12b6c9169303b140b798775"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-81011.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-81011"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2532502"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-81011"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-81011"},{"url":"https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-81011.mbox"}],"tags":["cve.org","csaf","vex","red-hat"],"epss":0.00125,"epssPercentile":0.02199,"scores":{"cna":7.1,"vendor":5.5},"ingestedAt":"2026-09-14T15:23:07.454Z","slug":"CVE-2026-81011","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nplatform/x86: hp-bioscfg: pass validated element count to package parsers\n\nThe per-type package parsers are handed the wrong element count.\n\nhp_init_bios_package_attribute() validates obj->package.count and then\ncalls one of the five hp_populate_*_package_data() wrappers (string,\ninteger, enumeration, ordered list, password). Each wrapper forwards a\ncount to its hp_populate_*_elements_from_package() parser, but instead\nof forwarding the validated obj->package.count it derives the count\nfrom elements[0]. elements[0] is the NAME field and is always an\nACPI_TYPE_STRING, so reading ->package.count from it in fact reads\n->string.length through the union acpi_object. The parsers thus bound\nthemselves against the length of the name string rather than against\nthe real number of elements in the package.\n\nThis is safe today because hp_init_bios_package_attribute() refuses any\npackage that has fewer than the type's element count, so a parser only\never runs on a full package and never reads past it regardless of the\nbogus bound.\n\nAn upcoming change relaxes that check to accept shorter packages. Once\na parser can receive fewer elements than its per-type count, a bound\ntaken from the name length no longer reflects the array size, and the\n\"elem < count\" loop conditions and \"elem + n >= count\" sub-loop guards\nread past the end of elements[] - an out-of-bounds heap read.\n\nForward the validated obj->package.count to every *_package_data()\nwrapper so the parsers bound themselves against the real package size.\nThis does not change behaviour for the packages that enumerate\ncorrectly today and is a prerequisite for accepting shorter packages\nsafely.\n\n## Affected\n\n- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < 467e53f231f77a1677191b8cdabdaf1448439d55`\n- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < 436017808c7cbcdb5e49b2142090d4391e3de9a6`\n- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < a38127df99ae8b1851560b35b837c9952416143a`\n- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < 400cbc3ccc88a5ad37cd85056224635ce9eba018`\n- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < e0ddfd77c0c320b7d12b6c9169303b140b798775`\n- `Linux 6.6`\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 · updated 2026-09-14 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-81011.json)","depth":"twilight","depthScore":39,"depthScoreParts":{"impact":39.1,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":224772,"id":"CVE-2026-81011","ts":1792401534001,"field":"cvss","old":"5.5","new":"7.1"},{"seq":224771,"id":"CVE-2026-81011","ts":1792401534001,"field":"severity","old":"medium","new":"high"},{"seq":204134,"id":"CVE-2026-81011","ts":1789490231951,"field":"cvss","old":"7.1","new":"5.5"},{"seq":204133,"id":"CVE-2026-81011","ts":1789490231951,"field":"severity","old":"high","new":"medium"},{"seq":183562,"id":"CVE-2026-81011","ts":1789356675895,"field":"cvss","old":"7.1","new":"4.7"},{"seq":183561,"id":"CVE-2026-81011","ts":1789356675895,"field":"severity","old":"high","new":"medium"},{"seq":153208,"id":"CVE-2026-81011","ts":1789285349553,"field":"cvss","old":null,"new":"7.1"},{"seq":153207,"id":"CVE-2026-81011","ts":1789285349553,"field":"severity","old":"none","new":"high"},{"seq":147103,"id":"CVE-2026-81011","ts":1789270195183,"field":"cvss","old":null,"new":"4.7"},{"seq":147102,"id":"CVE-2026-81011","ts":1789270195183,"field":"severity","old":"none","new":"medium"},{"seq":108864,"id":"CVE-2026-81011","ts":1789183729310,"field":"cvss","old":null,"new":"4.7"},{"seq":108863,"id":"CVE-2026-81011","ts":1789183729310,"field":"severity","old":"none","new":"medium"}]}