CVE-2026-81012

high

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.

References

https://git.kernel.org/stable/c/ddf98cf33529714b3ba1a158afb1db5b0f759a1a

https://git.kernel.org/stable/c/dc03f05e419f3460342fb7564884f244622634b6

https://git.kernel.org/stable/c/b15b334fbc3c0c46440f8a892ebf62164fca23d6

https://git.kernel.org/stable/c/8f5aa1506cdddea6b33584c2445b9ce99eeddb64

https://git.kernel.org/stable/c/3cc772d0154799961f032e5a992d4a50523e291a

Details

Source: Mitre, NVD

Published: 2026-09-11

Updated: 2026-09-14

Risk Information

CVSS v2

Base Score: 7.2

Vector: CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C

Severity: High

CVSS v3

Base Score: 8.4

Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Severity: High

EPSS

EPSS: 0.00168