Description
In the Linux kernel, the following vulnerability has been resolved:

platform/x86: hp-bioscfg: fix off-by-one write in hp_get_string_from_buffer()

hp_get_string_from_buffer() clamps the converted string length against
the destination buffer size with "size > dst_size", so when the
converted length is exactly equal to dst_size, conv_dst_size is left
at dst_size and the unconditional NUL terminator write

dst[conv_dst_size] = 0;

lands one byte past the destination buffer. This is the same shape of
bug as the previously fixed off-by-one in hp_convert_hexstr_to_str():
the buffer is sized correctly for the content, but the terminator
write is never checked against that size.

Fix by changing the comparison to ">=" so conv_dst_size is always left
with room for the terminator.

All fixed-size destinations that reach this function (path[512],
current_value[512], current_password/current_value[64], and the
per-entry buffers in encodings[][512] and prerequisites[][512]) are
affected.
Published: 2026-09-11
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Buffer overflow resulting in potential kernel memory corruption and instability
Action: Patch
AI Analysis

Impact

The vulnerability is an off‑by‑one write in the hp_get_string_from_buffer function of the Linux kernel. When a caller supplies a string that exactly fills the destination buffer, the function writes a NUL terminator one byte beyond the buffer boundary. This can overwrite adjacent data, potentially corrupting kernel memory and leading to crashes or other instability. The weakness is a buffer overflow (CWE‑193).

Affected Systems

The flaw exists in the Linux kernel source tree under platform/x86/hp‑bioscfg. Any distribution that ships a kernel containing this function—particularly the hp_get_string_from_buffer path, path[512], current_value[512], current_password/current_value[64], and the per‑entry encodings and prerequisites arrays—may be affected. Version information is not specified; users should check whether their running kernel includes the patch present in the stable 6.x series or later.

Risk and Exploitability

With a CVSS score of 5.1, the vulnerability is considered moderate. The EPSS score is less than 1%. The vulnerability is not listed in CISA KEV. Based on the description, it is inferred that an attacker would need to manipulate HP BIOS configuration strings, which generally requires physical access or firmware‑level privileges; therefore the likelihood of exploitation is low unless the system is exposed to compromised firmware or an attacker can inject strings via BIOS interfaces.

Generated by OpenCVE AI on September 13, 2026 at 03:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the hp_get_string_from_buffer fix, such as the latest stable 6.x series.
  • If the kernel cannot be upgraded immediately, disable or unload the hp-bioscfg module or disable the related feature that calls hp_get_string_from_buffer.
  • Ensure that any BIOS configuration input processing performs explicit bounds checking and sanitization before passing strings to kernel functions.

Generated by OpenCVE AI on September 13, 2026 at 03:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 13 Sep 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H'}

cvssV3_1

{'score': 8.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-193
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H'}

threat_severity

Moderate


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: platform/x86: hp-bioscfg: fix off-by-one write in hp_get_string_from_buffer() hp_get_string_from_buffer() clamps the converted string length against the destination buffer size with "size > dst_size", so when the converted length is exactly equal to dst_size, conv_dst_size is left at dst_size and the unconditional NUL terminator write dst[conv_dst_size] = 0; lands one byte past the destination buffer. This is the same shape of bug as the previously fixed off-by-one in hp_convert_hexstr_to_str(): the buffer is sized correctly for the content, but the terminator write is never checked against that size. Fix by changing the comparison to ">=" so conv_dst_size is always left with room for the terminator. All fixed-size destinations that reach this function (path[512], current_value[512], current_password/current_value[64], and the per-entry buffers in encodings[][512] and prerequisites[][512]) are affected.
Title platform/x86: hp-bioscfg: fix off-by-one write in hp_get_string_from_buffer()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-13T06:29:16.025Z

Reserved: 2026-08-26T14:34:25.813Z

Link: CVE-2026-81012

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:10.050

Modified: 2026-09-13T07:17:07.880

Link: CVE-2026-81012

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-11T19:43:02Z

Links: CVE-2026-81012 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T04:00:08Z

Weaknesses