← Back to CVE List
CVE-2026-90137NVD
Vulnerability 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].
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].
CVSS v3.1 Base Metrics — Score 7.7 (HIGH)
Attack VectorLocal
Attack ComplexityLow
Privileges RequiredNone
User InteractionNone
ScopeUnchanged
ConfidentialityHigh
IntegrityNone
AvailabilityHigh
Affected & Patched Versions
- Linux Linux >= 8646a3b5ee3a5b384a22a721f37c24274d974045 and < c224759555a13735b0d67561d818cefe00c3309a
- Linux Linux >= 8646a3b5ee3a5b384a22a721f37c24274d974045 and < 59fe8491ddaa03a510b352552e6ee291e7ce45d3
- Linux Linux >= 8646a3b5ee3a5b384a22a721f37c24274d974045 and < ace1ba5fca0ab775b3641e154bcbc3ccde26a71a
- Linux Linux >= 8646a3b5ee3a5b384a22a721f37c24274d974045 and < 8a7499b8fd34438c1b11964e0e7ef5bd590fec92
- Linux Linux >= 8646a3b5ee3a5b384a22a721f37c24274d974045 and < e213939ed9e6e6badf7aa48c4c8dd9a9cdf00615
- Linux Linux >= 6.6
- Linux Linux c224759555a13735b0d67561d818cefe00c3309a
- Linux Linux 59fe8491ddaa03a510b352552e6ee291e7ce45d3
- Linux Linux ace1ba5fca0ab775b3641e154bcbc3ccde26a71a
- Linux Linux 8a7499b8fd34438c1b11964e0e7ef5bd590fec92
- Linux Linux e213939ed9e6e6badf7aa48c4c8dd9a9cdf00615
External References
- https://git.kernel.org/stable/c/c224759555a13735b0d67561d818cefe00c3309a
- https://git.kernel.org/stable/c/59fe8491ddaa03a510b352552e6ee291e7ce45d3
- https://git.kernel.org/stable/c/ace1ba5fca0ab775b3641e154bcbc3ccde26a71a
- https://git.kernel.org/stable/c/8a7499b8fd34438c1b11964e0e7ef5bd590fec92
- https://git.kernel.org/stable/c/e213939ed9e6e6badf7aa48c4c8dd9a9cdf00615