---
id: CVE-2026-81012
title: 'platform/x86: hp-bioscfg: fix off-by-one write in hp_get_string_from_buffer()'
summary: |-
  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 bu…
severity: high
cvss: 8.4
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-193
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a <
    8f5aa1506cdddea6b33584c2445b9ce99eeddb64
  - >-
    Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a <
    3cc772d0154799961f032e5a992d4a50523e291a
  - >-
    Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a <
    b15b334fbc3c0c46440f8a892ebf62164fca23d6
  - >-
    Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a <
    ddf98cf33529714b3ba1a158afb1db5b0f759a1a
  - >-
    Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a <
    dc03f05e419f3460342fb7564884f244622634b6
  - Linux 6.6
published: '2026-09-11'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:46:37.440Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-81012'
references:
  - url: 'https://git.kernel.org/stable/c/8f5aa1506cdddea6b33584c2445b9ce99eeddb64'
  - url: 'https://git.kernel.org/stable/c/3cc772d0154799961f032e5a992d4a50523e291a'
  - url: 'https://git.kernel.org/stable/c/b15b334fbc3c0c46440f8a892ebf62164fca23d6'
  - url: 'https://git.kernel.org/stable/c/ddf98cf33529714b3ba1a158afb1db5b0f759a1a'
  - url: 'https://git.kernel.org/stable/c/dc03f05e419f3460342fb7564884f244622634b6'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-81012.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-81012'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532131'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-81012'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-81012'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-81012.mbox
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
  - score-dispute
epss: 0.00142
epssPercentile: 0.03449
scores:
  cna: 8.4
  vendor: 5.5
ingestedAt: '2026-09-14T15:23:07.453Z'
---

## Overview

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.

## Affected

- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < 8f5aa1506cdddea6b33584c2445b9ce99eeddb64`
- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < 3cc772d0154799961f032e5a992d4a50523e291a`
- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < b15b334fbc3c0c46440f8a892ebf62164fca23d6`
- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < ddf98cf33529714b3ba1a158afb1db5b0f759a1a`
- `Linux >= a34fc329b1895fc8a6eb12099adc47009421ba6a < dc03f05e419f3460342fb7564884f244622634b6`
- `Linux 6.6`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Moderate · updated 2026-09-14 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-81012.json)
