{
  "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"
            },
            {
              "fixed": "7.1.10-1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "details": "In the Linux kernel, the following vulnerability has been resolved:  af_unix: Unlink scc_entry in unix_del_edge().  Kyle Zeng reported that GC could free a dead SCC partially.  The scenario is as follows:     1) Create two SCCs:         X -.   A \u003c-\u003e B        ^--'     2) Run the following concurrently:        2-1) send() sk-B to sk-B from sk-X       2-2) close() both A and B  At 2-1), there is a small window where unix_add_edges() publishes a new edge (B \u003c-\u003e B) to GC but its skb is not queued by skb_queue_tail().  If 2-2) completes before skb_queue_tail() and GC is triggered, it judges A \u003c-\u003e B as dead, but B is not freed because GC cannot collect the not-yet-queued skb holding the B \u003c-\u003e B edge.         X -.   A \u003c-\u003e B -. This edge is visible        ^--'         ^..'  but skb is not  This itself is not a problem since the next GC run will judge B as dead as well and free it finally.         X -.   A \u003c.\u003e B -.        ^--'         ^--'  However, X's SCC forces the next GC to call unix_walk_scc_fast(), and it iterates over A through B's scc_entry.  Let's unlink scc_entry before freeing the vertex in unix_del_edge().",
  "id": "DEBIAN-CVE-2026-80521",
  "modified": "2026-09-22T08:47:29.159636198Z",
  "published": "2026-08-26T15:17:05.677Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://security-tracker.debian.org/tracker/CVE-2026-80521"
    }
  ],
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "upstream": [
    "CVE-2026-80521"
  ]
}