{"id":"CVE-2026-81011","revision":"e37272cbbc494e06a49350a592d59a74","records":[{"revision":"e37272cbbc494e06a49350a592d59a74","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-81011","aliases":[],"title":"platform/x86: hp-bioscfg: pass validated element count to package parsers","description":"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_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.","state":0,"publishedAt":"2026-09-11T19:43:01.422+00:00","modifiedAt":"2026-10-19T08:46:36.444+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/platform/x86/hp/hp-bioscfg/bioscfg.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/bioscfg.h\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/enum-attributes.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/int-attributes.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/order-list-attributes.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/string-attributes.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"a34fc329b1895fc8a6eb12099adc47009421ba6a\",\n                            \"lessThan\": \"467e53f231f77a1677191b8cdabdaf1448439d55\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a34fc329b1895fc8a6eb12099adc47009421ba6a\",\n                            \"lessThan\": \"436017808c7cbcdb5e49b2142090d4391e3de9a6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a34fc329b1895fc8a6eb12099adc47009421ba6a\",\n                            \"lessThan\": \"a38127df99ae8b1851560b35b837c9952416143a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a34fc329b1895fc8a6eb12099adc47009421ba6a\",\n                            \"lessThan\": \"400cbc3ccc88a5ad37cd85056224635ce9eba018\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a34fc329b1895fc8a6eb12099adc47009421ba6a\",\n                            \"lessThan\": \"e0ddfd77c0c320b7d12b6c9169303b140b798775\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/platform/x86/hp/hp-bioscfg/bioscfg.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/bioscfg.h\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/enum-attributes.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/int-attributes.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/order-list-attributes.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c\",\n                        \"drivers/platform/x86/hp/hp-bioscfg/string-attributes.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.6\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.6\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.157\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.109\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.50\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.4\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","score":7.1,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/467e53f231f77a1677191b8cdabdaf1448439d55","https://git.kernel.org/stable/c/436017808c7cbcdb5e49b2142090d4391e3de9a6","https://git.kernel.org/stable/c/a38127df99ae8b1851560b35b837c9952416143a","https://git.kernel.org/stable/c/400cbc3ccc88a5ad37cd85056224635ce9eba018","https://git.kernel.org/stable/c/e0ddfd77c0c320b7d12b6c9169303b140b798775"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-81011","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-81011","identifiers":["CVE-2026-81011"]},"retained":false,"historicalAffected":[]}],"coverage":[]}