{
  "affected": [
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:12",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:13",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:14",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "details": "In the Linux kernel, the following vulnerability has been resolved:  nfc: llcp: bound SNL TLV parsing to the skb and add length checks  nfc_llcp_recv_snl() walked the SNL TLV list using a u16 offset/length pair derived from skb-\u003elen, without bounding reads to the actual skb data. Three problems followed:    - For a short frame (skb-\u003elen \u003c LLCP_HEADER_SIZE), tlv_len underflowed.   - The per-TLV header (type, length) was read without checking that two     bytes remained.   - A declared TLV length could run past the end of the buffer, and an     SDREQ with length == 0 made \"service_name_len = length - 1\" underflow     (size_t), driving an out-of-bounds read in the following strncmp() /     nfc_llcp_sock_from_sn(). The SDRES case likewise read tlv[2]/tlv[3]     without a length check.  A nearby NFC device can reach this without authentication; LLCP link activation happens automatically after NFC-DEP.  Walk the TLV list by pointer, bounded by skb_tail_pointer() over the linear skb data, and validate each TLV declared length before use. Add explicit length checks for SDREQ (\u003e= 1) and SDRES (exactly 2).  Found by 0sec automated security-research tooling (https://0sec.ai).",
  "id": "DEBIAN-CVE-2026-90223",
  "modified": "2026-09-18T04:47:38.487213577Z",
  "published": "2026-09-17T17:17:17.850Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://security-tracker.debian.org/tracker/CVE-2026-90223"
    }
  ],
  "upstream": [
    "CVE-2026-90223"
  ]
}