{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-46102",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2026-46102"
  ],
  "published": "2026-05-27T12:59:23Z",
  "summary": "net: strparser: fix skb_head leak in strp_abort_strp()",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: strparser: fix skb_head leak in strp_abort_strp()\n\nWhen the stream parser is aborted, for example after a message assembly timeout,\nit can still hold a reference to a partially assembled message in\nstrp->skb_head.\n\nThat skb is not released in strp_abort_strp(), which leaks the partially\nassembled message and can be triggered repeatedly to exhaust memory.\n\nFix this by freeing strp->skb_head and resetting the parser state in the\nabort path. Leave strp_stop() unchanged so final cleanup still happens in\nstrp_done() after the work and timer have been synchronized.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.175",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-46102"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d6668ce0e78d23eabecef9a6bc4f0f739cb28ad3"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a470ed71c906cc8cbad0d74c9942216698911f8b"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c2e57695ec9ff9d42f23de70f3805199153d007b"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/e9ae00490d474757c0f9c65073de83e6bb1e5a00"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/5327dad2ffe9c1b49881dd6d51ff3c6893847568"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/19ca9475f18f991735f98a22e735c43e95e6298d"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/56082f442023db9be1a5a29d4ee361de4017c0b7"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/fe72340daaf1af588be88056faf98965f39e6032"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T13:16:28Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.5,
      "cvss_v3_severity": "High",
      "scenario": "AV:N - The strparser parses data received from a remote TCP peer (espintcp ESP-in-TCP framing, sockmap framed protocols); the leak is driven by a remote peer sending a partial length-prefixed frame that never completes.\nAC:L - The attacker reliably sends an incomplete framed message and simply lets the message-assembly timer expire; this trigger is fully under the attacker's control.\nPR:N - The framing parse (length-prefix read) occurs at the stream layer before any authentication of the payload, so a remote peer needs no privileges on the target to send partial frames and trigger the leak.\nUI:N - No victim interaction is required; the leak is triggered solely by the attacker's network data and the timeout firing.\nS:U - The leaked skb is kernel memory within the same security authority; no security boundary is crossed.\nC:N - The leaked partial-message skb is orphaned, not exposed to the attacker; the bug discloses no information.\nI:N - Nothing is overwritten or modified; the parser is stopped and the dangling pointer is never reused, so there is no integrity impact.\nA:H - Each abort leaks a partial message (up to sk_rcvbuf) and the commit notes it can be triggered repeatedly to exhaust memory, leading to kernel-wide memory exhaustion / OOM denial of service."
    }
  }
}
