CVE-2026-90137

Summary

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].

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8646a3b5ee3a5b384a22a721f37c24274d974045 < c224759555a13735b0d67561d818cefe00c3309aaffected
LinuxLinux8646a3b5ee3a5b384a22a721f37c24274d974045 < 59fe8491ddaa03a510b352552e6ee291e7ce45d3affected
LinuxLinux8646a3b5ee3a5b384a22a721f37c24274d974045 < ace1ba5fca0ab775b3641e154bcbc3ccde26a71aaffected
LinuxLinux8646a3b5ee3a5b384a22a721f37c24274d974045 < 8a7499b8fd34438c1b11964e0e7ef5bd590fec92affected
LinuxLinux8646a3b5ee3a5b384a22a721f37c24274d974045 < e213939ed9e6e6badf7aa48c4c8dd9a9cdf00615affected
LinuxLinux6.6affected
LinuxLinux0 < 6.6unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.52 <= 6.18.*unaffected
LinuxLinux7.2.6 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References