GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-81014 (GCVE-0-2026-81014)

Vulnerability from cvelistv5 – Published: 2026-09-11 19:43 – Updated: 2026-09-14 11:59
VLAI
Title
platform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store()
Summary
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.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 , < 81db79fed115640736188e56595b1e9aec317d5b (git)
Affected: b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 , < 4c6374dcb270d12907b880cf82a5a5ef21785fc3 (git)
Affected: b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 , < 7cd8fe01aba303a2382db0966eb6c8ab41d5f3c2 (git)
Affected: b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 , < 67b60703d7d8af1ca0e49f72e1bdb1ccecd41b5b (git)
Affected: b2715aa2e1352c0060b9dcba57a2e465bbfbcd68 , < a7508c7959ff8d037327d377ed21a9c0eabe4674 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.6
Unaffected: 0 , < 6.6 (semver)
Unaffected: 6.6.157 , ≤ 6.6.* (semver)
Unaffected: 6.12.109 , ≤ 6.12.* (semver)
Unaffected: 6.18.50 , ≤ 6.18.* (semver)
Unaffected: 7.2.4 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/platform/x86/hp/hp-bioscfg/spmobj-attributes.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "81db79fed115640736188e56595b1e9aec317d5b",
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "versionType": "git"
            },
            {
              "lessThan": "4c6374dcb270d12907b880cf82a5a5ef21785fc3",
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "versionType": "git"
            },
            {
              "lessThan": "7cd8fe01aba303a2382db0966eb6c8ab41d5f3c2",
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "versionType": "git"
            },
            {
              "lessThan": "67b60703d7d8af1ca0e49f72e1bdb1ccecd41b5b",
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "versionType": "git"
            },
            {
              "lessThan": "a7508c7959ff8d037327d377ed21a9c0eabe4674",
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/platform/x86/hp/hp-bioscfg/spmobj-attributes.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.6"
            },
            {
              "lessThan": "6.6",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.109",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.109",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nplatform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store()\n\nsk_store() and kek_store() strip a trailing newline from the sysfs\nwrite before allocating the key buffer:\n\n\tlength = count;\n\tif (buf[length - 1] == \u0027\\n\u0027)\n\t\tlength--;\n\tbioscfg_drv.spm_data.signing_key = kmemdup(buf, length, GFP_KERNEL);\n\nbut then pass the original \"count\" (not \"length\") as the copy size to\nhp_wmi_perform_query(), which memcpy()s that many bytes out of the\n\"length\"-sized allocation, reading one byte past it whenever the write\nends in a newline, the normal case for a shell \"echo\" into sysfs.\n\nKASAN confirms this directly:\n\n  BUG: KASAN: slab-out-of-bounds in hp_wmi_perform_query+0x1e9/0x460 [hp_bioscfg]\n  Read of size 28 at addr ffff88813c8e2b80 by task python3/16022\n  ...\n  sk_store+0xa7/0x240 [hp_bioscfg]\n  kernfs_fop_write_iter+0x3e1/0x5d0\n  ...\n  The buggy address is located 0 bytes inside of\n  allocated 27-byte region [ffff88813c8e2b80, ffff88813c8e2b9b)\n\nReproduced identically for kek_store, and at multiple write sizes\n(28, 57, 201 bytes), each time reading exactly one byte past a\nkmemdup() allocation one byte smaller than the write.\n\nFix by passing \"length\" instead of \"count\" to hp_wmi_perform_query()\nin both functions."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-14T11:59:47.096Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/81db79fed115640736188e56595b1e9aec317d5b"
        },
        {
          "url": "https://git.kernel.org/stable/c/4c6374dcb270d12907b880cf82a5a5ef21785fc3"
        },
        {
          "url": "https://git.kernel.org/stable/c/7cd8fe01aba303a2382db0966eb6c8ab41d5f3c2"
        },
        {
          "url": "https://git.kernel.org/stable/c/67b60703d7d8af1ca0e49f72e1bdb1ccecd41b5b"
        },
        {
          "url": "https://git.kernel.org/stable/c/a7508c7959ff8d037327d377ed21a9c0eabe4674"
        }
      ],
      "title": "platform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-81014",
    "datePublished": "2026-09-11T19:43:03.397Z",
    "dateReserved": "2026-08-26T14:34:25.813Z",
    "dateUpdated": "2026-09-14T11:59:47.096Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-81014",
      "date": "2026-09-18",
      "epss": "0.00168",
      "percentile": "0.06452"
    },
    "microsoft_vex": {
      "current_release_date": "2026-09-15T01:51:20.000Z",
      "cve": "CVE-2026-81014",
      "id": "msrc_CVE-2026-81014",
      "initial_release_date": "2026-09-13T01:10:41.000Z",
      "product_status:known_not_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "platform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store()",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-81014.json",
      "version": "3"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/platform/x86/hp/hp-bioscfg/spmobj-attributes.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "81db79fed115640736188e56595b1e9aec317d5b",
                    "status": "affected",
                    "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4c6374dcb270d12907b880cf82a5a5ef21785fc3",
                    "status": "affected",
                    "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7cd8fe01aba303a2382db0966eb6c8ab41d5f3c2",
                    "status": "affected",
                    "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "67b60703d7d8af1ca0e49f72e1bdb1ccecd41b5b",
                    "status": "affected",
                    "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a7508c7959ff8d037327d377ed21a9c0eabe4674",
                    "status": "affected",
                    "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/platform/x86/hp/hp-bioscfg/spmobj-attributes.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.6"
                  },
                  {
                    "lessThan": "6.6",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.157",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.109",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.50",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nplatform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store()\n\nsk_store() and kek_store() strip a trailing newline from the sysfs\nwrite before allocating the key buffer:\n\n\tlength = count;\n\tif (buf[length - 1] == \u0027\\n\u0027)\n\t\tlength--;\n\tbioscfg_drv.spm_data.signing_key = kmemdup(buf, length, GFP_KERNEL);\n\nbut then pass the original \"count\" (not \"length\") as the copy size to\nhp_wmi_perform_query(), which memcpy()s that many bytes out of the\n\"length\"-sized allocation, reading one byte past it whenever the write\nends in a newline, the normal case for a shell \"echo\" into sysfs.\n\nKASAN confirms this directly:\n\n  BUG: KASAN: slab-out-of-bounds in hp_wmi_perform_query+0x1e9/0x460 [hp_bioscfg]\n  Read of size 28 at addr ffff88813c8e2b80 by task python3/16022\n  ...\n  sk_store+0xa7/0x240 [hp_bioscfg]\n  kernfs_fop_write_iter+0x3e1/0x5d0\n  ...\n  The buggy address is located 0 bytes inside of\n  allocated 27-byte region [ffff88813c8e2b80, ffff88813c8e2b9b)\n\nReproduced identically for kek_store, and at multiple write sizes\n(28, 57, 201 bytes), each time reading exactly one byte past a\nkmemdup() allocation one byte smaller than the write.\n\nFix by passing \"length\" instead of \"count\" to hp_wmi_perform_query()\nin both functions."
          }
        ],
        "id": "CVE-2026-81014",
        "lastModified": "2026-09-14T13:18:55.830",
        "metrics": {},
        "published": "2026-09-11T20:19:10.297",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/4c6374dcb270d12907b880cf82a5a5ef21785fc3"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/67b60703d7d8af1ca0e49f72e1bdb1ccecd41b5b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/7cd8fe01aba303a2382db0966eb6c8ab41d5f3c2"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/81db79fed115640736188e56595b1e9aec317d5b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a7508c7959ff8d037327d377ed21a9c0eabe4674"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-14T21:17:59+00:00",
      "cve": "CVE-2026-81014",
      "id": "CVE-2026-81014",
      "initial_release_date": "2026-09-11T00:00:00+00:00",
      "product_status:known_not_affected": "276",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: platform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-81014.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:04:00Z",
      "cve": "CVE-2026-81014",
      "id": "CVE-2026-81014",
      "initial_release_date": "2026-09-12T16:35:30Z",
      "product_status:known_not_affected": "353",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-81014",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-81014.json",
      "version": "4"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…