CVE-2026-81014

platform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store()

State
Published
Severity
Not scored
Published
Sep 11, 2026
Updated
Oct 19, 2026
Reserved
Aug 26, 2026

Read the record on cve.org

Description

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

platform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store()

sk_store() and kek_store() strip a trailing newline from the sysfs write before allocating the key buffer:

length = count; if (buf[length - 1] == '\n') length--; bioscfg_drv.spm_data.signing_key = kmemdup(buf, length, GFP_KERNEL);

but then pass the original "count" (not "length") as the copy size to hp_wmi_perform_query(), which memcpy()s that many bytes out of the "length"-sized allocation, reading one byte past it whenever the write ends in a newline, the normal case for a shell "echo" into sysfs.

KASAN confirms this directly:

BUG: KASAN: slab-out-of-bounds in hp_wmi_perform_query+0x1e9/0x460 [hp_bioscfg] Read of size 28 at addr ffff88813c8e2b80 by task python3/16022 ... sk_store+0xa7/0x240 [hp_bioscfg] kernfs_fop_write_iter+0x3e1/0x5d0 ... The buggy address is located 0 bytes inside of allocated 27-byte region [ffff88813c8e2b80, ffff88813c8e2b9b)

Reproduced identically for kek_store, and at multiple write sizes (28, 57, 201 bytes), each time reading exactly one byte past a kmemdup() allocation one byte smaller than the write.

Fix by passing "length" instead of "count" to hp_wmi_perform_query() in both functions.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 to before 81db79fed115640736188e56595b1e9aec317d5bAffected
  • b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 to before 4c6374dcb270d12907b880cf82a5a5ef21785fc3Affected
  • b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 to before 7cd8fe01aba303a2382db0966eb6c8ab41d5f3c2Affected
  • b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 to before 67b60703d7d8af1ca0e49f72e1bdb1ccecd41b5bAffected
  • b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 to before a7508c7959ff8d037327d377ed21a9c0eabe4674Affected
LinuxLinux
  • 6.6Affected
  • before 6.6Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.