{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-74282",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2026-74282"
  ],
  "published": "2026-08-15T06:04:33Z",
  "summary": "tipc: prevent snt_unacked underflow on CONN_ACK",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ntipc: prevent snt_unacked underflow on CONN_ACK\n\ntipc_sk_conn_proto_rcv() subtracts the peer-supplied connection ack count\nfrom the unsigned 16-bit send counter snt_unacked without checking that it\ndoes not exceed the number of messages actually outstanding:\n\n\ttsk->snt_unacked -= msg_conn_ack(hdr);\n\nmsg_conn_ack() is read straight from a received CONN_MANAGER/CONN_ACK\nmessage. If the ack count is larger than snt_unacked, the subtraction\nwraps to a near-maximum value, leaving tsk_conn_cong() permanently true\nand starving the connection of further transmits.\n\nValidate the ACK count at the start of the CONN_ACK block and drop the\nmessage if it acknowledges more messages than are outstanding. A peer (or,\nfor a local connection, the connected peer socket) can otherwise wedge a\nTIPC connection's send side by sending an oversized connection ack.",
  "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.178",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-74282"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/3388145d258cf2c4c98278e3987296007d30672e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/67e55b054bf8025658dc0e255057f2a6236416bd"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/96f91b8ae1a489b3eca137e7acf42cf985fb8939"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/47ed873e4ceda34098bd46d8e96b4bb13cad3a04"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/b44bebdd32c9ff66ee2aebfc317ced44bedd9335"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/3cfa3d8e0dc167850edeb5bf5a07757db83fd54e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/1e2c956745777e6ffdee7f30da5935741c03ee1e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/ab3e10b44ba5411779aac7afd2477917dd77750f"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-17T05:50:24Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.5,
      "cvss_v3_severity": "High",
      "scenario": "AV:N - The flaw is reached when tipc_rcv() processes a remote CONN_MANAGER/CONN_ACK skb from a TIPC bearer (UDP port 6118 or Ethernet), traversing tipc_link_rcv()\u2192tipc_sk_rcv()\u2192tipc_sk_proto_rcv()\u2192tipc_sk_conn_proto_rcv() with attacker-controlled ack count.\nAC:L - After a normal TIPC connect handshake, the connected peer can send a single CONN_ACK whose msg_conn_ack() exceeds snt_unacked; no races, timing, or rare layout conditions are needed and the malicious field is fully attacker-controlled.\nPR:N - Exploitation only requires becoming the established TIPC peer via a standard AF_TIPC connect/listen handshake; socket creation needs no capabilities and the protocol has no authentication gate before CONN_ACK processing.\nUI:N - No victim user action is required beyond the service already accepting TIPC connections; the attacker triggers the bug by sending one crafted CONN_ACK on the established connection.\nS:U - Impact is limited to corrupting flow-control state on a victim TIPC socket within the same kernel/host security boundary; there is no VM escape, container breakout, or IOMMU boundary crossing.\nC:N - The unsigned 16-bit underflow only corrupts the snt_unacked congestion counter and does not read or disclose kernel memory, pointers, or other sensitive information.\nI:N - The bug modifies only an internal send-window counter to block transmits and provides no arbitrary write, code execution, or user/kernel data modification primitive.\nA:H - An oversized CONN_ACK wraps snt_unacked to a near-maximum value, leaving tsk_conn_cong() permanently true and indefinitely starving the victim socket's transmit path until the connection is torn down."
    }
  }
}
