KernelScan.io

HIGH Introduced in 6.6

hp-bioscfg PasswordEncoding OOB

CVE-2026-90137

CVSS 7.7 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

KernelScan AI3.7LOW

01

In the Linux kernel, the following vulnerability has been resolved: platform/x86: hp-bioscfg: fix password encoding bounds check The password PSWD_ENCODINGS parser reads password_obj[elem + pos_values] while copying the supported password encodings from the ACPI package. The outer loop only guarantees that elem is within password_obj_count. The encoding count is bounded by MAX_ENCODINGS_SIZE, but that does not guarantee that the ACPI package contains enough entries for all elem + pos_values accesses. A malformed package can therefore declare a non-zero encoding count without providing enough string objects, causing the parser to read past the ACPI package array and pass an out-of-bounds string pointer and length to hp_convert_hexstr_to_str(). Add the same computed-index bounds check used by the other offset-based package parsing loops before reading password_obj[elem + pos_values].

02

Engine v0.6.0

Risk summary

A malformed ACPI package on HP commercial notebooks can cause the BIOS configuration driver to read past the end of an ACPI object array, potentially leaking kernel memory or crashing the system. Exploitation requires a compromised firmware ACPI table or root-level access to modify ACPI tables at runtime. The impact is limited to systems running the hp-bioscfg driver on HP hardware.

Affecteddrivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c (platform/x86 hp-bioscfg)

Vulnerability analysis

The HP BIOS configuration driver parses ACPI packages to extract password encoding settings, using a computed array index that combines a loop offset with a running position counter. A malformed ACPI package can declare a non-zero encoding count without providing enough entries in the package array, so the computed index exceeds the array bounds and the driver reads out-of-bounds data, interpreting it as string pointers and lengths for further processing. The fix adds a bounds check on the computed index before each array access, rejecting packages that are too small. This vulnerability is reachable only on HP commercial notebooks with the hp-bioscfg driver loaded, and requires either a compromised firmware ACPI table supplied at boot or root-level access to modify ACPI tables at runtime.

03

BranchIntroducedFixed inPatch commit
6.126.66.12.11059fe8491ddaa
6.186.66.18.52ace1ba5fca0a
7.26.67.2.68a7499b8fd34
6.66.66.6.157c224759555a1
mainline6.67.3-rc1e213939ed9e6
cip/6.126.66.12.111-cip3259fe8491ddaa