« Volver al listado

CVE-2026-81014

Estado: RecibidaSin puntuar—

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:

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.

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.

Leer descripción completaMostrar menos

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

Detalles técnicos trazas, registros y código del informe original
	length = count;
	if (buf[length - 1] == '\n')
		length--;
	bioscfg_drv.spm_data.signing_key = kmemdup(buf, length, GFP_KERNEL);

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)

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-81014",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "lessThan": "81db79fed115640736188e56595b1e9aec317d5b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "lessThan": "4c6374dcb270d12907b880cf82a5a5ef21785fc3",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "lessThan": "7cd8fe01aba303a2382db0966eb6c8ab41d5f3c2",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "lessThan": "67b60703d7d8af1ca0e49f72e1bdb1ccecd41b5b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b2715aa2e1352c0060b9dcba57a2e465bbfbcd68",
              "lessThan": "a7508c7959ff8d037327d377ed21a9c0eabe4674",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/platform/x86/hp/hp-bioscfg/spmobj-attributes.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.6"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.6",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.109",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.4",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/platform/x86/hp/hp-bioscfg/spmobj-attributes.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-11T20:19:10.297",
  "references": [
    {
      "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",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "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] == '\\n')\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."
    }
  ],
  "lastModified": "2026-09-14T13:18:55.830",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}