← Back to CVE Explorer

CVE-2026-80796

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: add data_len bound checks to activation parameter extractors nci_extract_activation_params_iso_dep() and nci_extract_activation_params_nfc_dep() read an inner length byte from the NCI RF_INTF_ACTIVATED_NTF payload and use it to memcpy() into fixed kernel buffers, but neither function receives the caller-validated activation_params_len. A crafted NCI notification with activation_params_len=1 and an inner length byte of up to 20 (NFC-A) or 50 (NFC-B) causes memcpy() to read that many bytes past the one valid byte in the activation params region -- a slab out-of-bounds read of kernel memory adjacent to the NCI skb. The sibling nci_extract_rf_params_*() family was given equivalent protection by commit 571dcbeb8e63 ("net: nfc: nci: Fix parameter validation for packet data"), but the two activation parameter extractors were not updated at that time. Add a data_len parameter to both functions, guard against an empty region before consuming the inner length byte, decrement the remaining count after consuming it, and clamp the copy length to what is actually available. Update both call sites to pass ntf.activation_params_len, which is already validated against the skb at ntf.c:801.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-04 16:18:06.180000
Last modified
2026-10-19 09:17:13.900000
View original CVE JSON
{
  "id": "CVE-2026-80796",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-04T16:18:06.180",
  "lastModified": "2026-10-19T09:17:13.900",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnfc: nci: add data_len bound checks to activation parameter extractors\n\nnci_extract_activation_params_iso_dep() and\nnci_extract_activation_params_nfc_dep() read an inner length byte from\nthe NCI RF_INTF_ACTIVATED_NTF payload and use it to memcpy() into fixed\nkernel buffers, but neither function receives the caller-validated\nactivation_params_len.  A crafted NCI notification with\nactivation_params_len=1 and an inner length byte of up to 20 (NFC-A) or\n50 (NFC-B) causes memcpy() to read that many bytes past the one valid\nbyte in the activation params region -- a slab out-of-bounds read of\nkernel memory adjacent to the NCI skb.\n\nThe sibling nci_extract_rf_params_*() family was given equivalent\nprotection by commit 571dcbeb8e63 (\"net: nfc: nci: Fix parameter\nvalidation for packet data\"), but the two activation parameter\nextractors were not updated at that time.\n\nAdd a data_len parameter to both functions, guard against an empty\nregion before consuming the inner length byte, decrement the remaining\ncount after consuming it, and clamp the copy length to what is actually\navailable.  Update both call sites to pass ntf.activation_params_len,\nwhich is already validated against the skb at ntf.c:801."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "net/nfc/nci/ntf.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "1168484fe2b3828bf24a46f3c42a8719fade679b",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "be311c0cfeadfbe815ea22d2914a98d06e3fab0e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "04e51353cb9fa321caaeeed8331d4cd041fbaca7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "e25b44bd8b8cc666b49a3fe0ef547e64d5b1e300",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "9b01f5af0dc59263b59391b148bc78d83c0354a9",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "9620a91f8d643b680f417a435db399a04d1e06d8",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "cf9d44be50b9074a5abdc301b4a3ba3e283591df",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "f5c534b53f8c424a8e7633c9b585475c4bf4ee18",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e8c0dacd9836dc2dcb28d236c9cc3cfaa9965a20",
              "lessThan": "0428fa2c22e2ba0cff766d3b80d461e149102045",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "net/nfc/nci/ntf.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "3.3",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "3.3",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.269",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.220",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.187",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.156",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.108",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.47",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.1.11",
              "lessThanOrEqual": "7.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.1",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0428fa2c22e2ba0cff766d3b80d461e149102045",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/04e51353cb9fa321caaeeed8331d4cd041fbaca7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/1168484fe2b3828bf24a46f3c42a8719fade679b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9620a91f8d643b680f417a435db399a04d1e06d8",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9b01f5af0dc59263b59391b148bc78d83c0354a9",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/be311c0cfeadfbe815ea22d2914a98d06e3fab0e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/cf9d44be50b9074a5abdc301b4a3ba3e283591df",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e25b44bd8b8cc666b49a3fe0ef547e64d5b1e300",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f5c534b53f8c424a8e7633c9b585475c4bf4ee18",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}