CVE-2026-81012

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 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 Software

VendorProductVersion RangeStatus
LinuxLinuxa34fc329b1895fc8a6eb12099adc47009421ba6a < 3cc772d0154799961f032e5a992d4a50523e291aaffected
LinuxLinuxa34fc329b1895fc8a6eb12099adc47009421ba6a < b15b334fbc3c0c46440f8a892ebf62164fca23d6affected
LinuxLinuxa34fc329b1895fc8a6eb12099adc47009421ba6a < ddf98cf33529714b3ba1a158afb1db5b0f759a1aaffected
LinuxLinuxa34fc329b1895fc8a6eb12099adc47009421ba6a < dc03f05e419f3460342fb7564884f244622634b6affected
LinuxLinux6.6affected
LinuxLinux0 < 6.6unaffected
LinuxLinux6.12.109 <= 6.12.*unaffected
LinuxLinux6.18.50 <= 6.18.*unaffected
LinuxLinux7.2.4 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References