Skip to content
Heist/ feed
Unrated

nfc: fix use-after-free in nfc_get_local_general_bytes

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: nfc: fix use-after-free in nfc_get_local_general_bytes Commit 6709d4b7bc2e ("net: nfc: Fix use-after-free caused by nfc_llcp_find_local") attempted to fix a use-after-free (UAF) issue by invoking nfc_llcp_local_put(local) after accessing local->gb. However, if the reference count drops to zero, local is freed immediately, leading to a use-after-free when callers access the returned pointer. Alternative approaches using dynamic allocation (e.g. kmemdup) introduced memory leaks because callers consistently treat the returned pointer as borrowed memory. Fix this properly by refactoring nfc_llcp_general_bytes() and nfc_get_local_general_bytes() to accept a caller-provided output buffer (out_gb) and its maximum length (gb_max_len). The general bytes are safely copied into out_gb before calling nfc_llcp_local_put(local), ensuring safe lifetime management without ownership transfer complications. Update all callers across drivers (microread, pn533, pn544, st21nfca, digital_dep, and nci) to provide their own destination buffers and pass them to nfc_get_local_general_bytes().

Announced Group revision 1
Original source ↗

CVE-2026-98483

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-98483

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "96f2c6f272ec04083d828de46285a7d7b17d1aad",
        "lessThan": "25bfa673adc70189c0bc872940421ae59f789cf6",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "fc8429f8d86801f092fbfbd257c3af821ac0dcd3",
        "lessThan": "2b31d0cc95856c856ada91f943fb14dfdf29a923",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "425d9d3a92df7d96b3cfb7ee5c240293a21cbde3",
        "lessThan": "c40f61a6a413f3eaf028e5fe367fd9749e503ab0",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6709d4b7bc2e079241fdef15d1160581c5261c10",
        "lessThan": "19bcfc2a56d0b82919079b5424c5a9a0ac897dcf",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6709d4b7bc2e079241fdef15d1160581c5261c10",
        "lessThan": "d8c929e9afdbc33b1876ecb97a517e850449b5bd",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6709d4b7bc2e079241fdef15d1160581c5261c10",
        "lessThan": "841af260ff477f6191872bc3b2e15488615c1827",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6709d4b7bc2e079241fdef15d1160581c5261c10",
        "lessThan": "9ede11e12f965ace97c4e0f606667f24fb41e7e1",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6709d4b7bc2e079241fdef15d1160581c5261c10",
        "lessThan": "dcab71a7011918f6fdba7adcec02d217dcb84b8d",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dd6ff3f3862709ab1a12566e73b9d6a9b8f6e548",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b3ad46e155a6d91b36c6e892019a43e3ef3c696d",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "e5207c1d69b1a9707615ab6ff9376e59fc096815",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5.10.188",
        "lessThan": "5.10.271",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "5.15.121",
        "lessThan": "5.15.222",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.1.39",
        "lessThan": "6.1.189",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "5.4.251",
        "lessThan": "5.5",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.3.13",
        "lessThan": "6.4",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.4.4",
        "lessThan": "6.5",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "drivers/nfc/microread/microread.c",
      "drivers/nfc/pn533/pn533.c",
      "drivers/nfc/pn533/pn533.h",
      "drivers/nfc/pn544/pn544.c",
      "drivers/nfc/st21nfca/core.c",
      "include/net/nfc/hci.h",
      "include/net/nfc/nfc.h",
      "net/nfc/core.c",
      "net/nfc/digital_dep.c",
      "net/nfc/llcp_core.c",
      "net/nfc/nci/core.c",
      "net/nfc/nfc.h"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.5"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.5",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.10.271",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.222",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.189",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.158",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.112",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.55",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.2.9",
        "versionType": "semver",
        "lessThanOrEqual": "7.2.*"
      },
      {
        "status": "unaffected",
        "version": "7.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/nfc/microread/microread.c",
      "drivers/nfc/pn533/pn533.c",
      "drivers/nfc/pn533/pn533.h",
      "drivers/nfc/pn544/pn544.c",
      "drivers/nfc/st21nfca/core.c",
      "include/net/nfc/hci.h",
      "include/net/nfc/nfc.h",
      "net/nfc/core.c",
      "net/nfc/digital_dep.c",
      "net/nfc/llcp_core.c",
      "net/nfc/nci/core.c",
      "net/nfc/nfc.h"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-98483

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#38529 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement