platform/x86: hp-bioscfg: fix heap OOB read on empty password write
Summary
| CVE | CVE-2026-81013 |
|---|---|
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-11 20:19:10 UTC |
| Updated | 2026-09-11 20:19:10 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved: platform/x86: hp-bioscfg: fix heap OOB read on empty password write validate_password_input() computes length = strlen(buf) and then checks buf[length - 1] to strip a trailing newline, without checking that length is nonzero first. Writing an empty string (a bare '\n') to current_password or new_password gives length == 0, and buf[length - 1] reads buf[-1], one byte before the heap allocation holding the copied input. KASAN confirms this directly: BUG: KASAN: slab-out-of-bounds in store_password_instance.constprop.0+0x223/0x2a0 [hp_bioscfg] Read of size 1 at addr ffff88811bd8da9f by task sh/13740 ... store_password_instance.constprop.0+0x223/0x2a0 [hp_bioscfg] current_password_store+0x14/0x20 [hp_bioscfg] ... The buggy address is located 23 bytes to the right of allocated 8-byte region [ffff88811bd8da80, ffff88811bd8da88) Reproduced identically via new_password_store. Execution continues past the bad read (the garbage byte only affects whether "length" is decremented by one), so the write completes and returns success; this is a pure information read past the buffer, not a crash, but it is still an out-of-bounds access KASAN correctly flags. Fix by only checking buf[length - 1] when length is nonzero. |
Risk And Classification
EPSS: 0.001800000 probability, percentile 0.077740000 (date 2026-09-13)
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Linux | Linux | affected 8646a3b5ee3a5b384a22a721f37c24274d974045 cecb8154bd5fa6c8ddbd1a4e8216bbc0f0eb9828 git | Not specified |
| CNA | Linux | Linux | affected 8646a3b5ee3a5b384a22a721f37c24274d974045 0f9aad08424882dd5714b53d29ae044060890752 git | Not specified |
| CNA | Linux | Linux | affected 8646a3b5ee3a5b384a22a721f37c24274d974045 b699e5c1f63a9e79946c35598c8a6f7af2c356b8 git | Not specified |
| CNA | Linux | Linux | affected 8646a3b5ee3a5b384a22a721f37c24274d974045 2b2ec354f905c14e3270e8ec3ab50f7d8ad73bab git | Not specified |
| CNA | Linux | Linux | affected 6.6 | Not specified |
| CNA | Linux | Linux | unaffected 6.6 semver | Not specified |
| CNA | Linux | Linux | unaffected 6.12.109 6.12.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.18.50 6.18.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.2.4 7.2.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.3-rc1 * original_commit_for_fix | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| git.kernel.org/stable/c/cecb8154bd5fa6c8ddbd1a4e8216bbc0f0eb9828 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/0f9aad08424882dd5714b53d29ae044060890752 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/b699e5c1f63a9e79946c35598c8a6f7af2c356b8 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/2b2ec354f905c14e3270e8ec3ab50f7d8ad73bab | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.