CVE-2026-74490 (GCVE-0-2026-74490)
Vulnerability from cvelistv5
Published
2026-08-15 12:27
Modified
2026-08-19 16:37
Summary
In the Linux kernel, the following vulnerability has been resolved: tipc: avoid use-after-free in poll trace queue dumps TIPC socket tracepoints dump queue state through tipc_sk_dump(). Most queue-dump callsites already serialize that walk under the socket lock or sk->sk_lock.slock, but tipc_poll() calls trace_tipc_sk_poll(..., TIPC_DUMP_ALL, ...) without holding either lock. That lets the poll trace path reach tipc_list_dump() and backlog head/tail dumping while another context dequeues and frees an skb, leaving the trace helper dereferencing a stale queue entry. Stop the unlocked poll trace site from requesting queue dumps. Other queue dump trace callsites keep their existing output under the locking they already provide, while poll still emits the event itself without walking live queue members from an unlocked context.
Impacted products
Vendor Product Version
Linux Linux Version: b4b9771bcbbd5839b0f77aba55e2f85989ed6779
Version: b4b9771bcbbd5839b0f77aba55e2f85989ed6779
Version: b4b9771bcbbd5839b0f77aba55e2f85989ed6779
Version: b4b9771bcbbd5839b0f77aba55e2f85989ed6779
Version: b4b9771bcbbd5839b0f77aba55e2f85989ed6779
Version: b4b9771bcbbd5839b0f77aba55e2f85989ed6779
Version: b4b9771bcbbd5839b0f77aba55e2f85989ed6779
Version: b4b9771bcbbd5839b0f77aba55e2f85989ed6779
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/tipc/socket.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "3cd57c6b210d50fd1f7ac1720442ba5be5dc94f8",
              "status": "affected",
              "version": "b4b9771bcbbd5839b0f77aba55e2f85989ed6779",
              "versionType": "git"
            },
            {
              "lessThan": "ae7fc824970888b4fdaa076819c9a6f2fcede275",
              "status": "affected",
              "version": "b4b9771bcbbd5839b0f77aba55e2f85989ed6779",
              "versionType": "git"
            },
            {
              "lessThan": "78706367fe1b98aee0a6de27c62b7f1e3035f38d",
              "status": "affected",
              "version": "b4b9771bcbbd5839b0f77aba55e2f85989ed6779",
              "versionType": "git"
            },
            {
              "lessThan": "d7940bb6a8e7ab28f972c2875cb05783216312dc",
              "status": "affected",
              "version": "b4b9771bcbbd5839b0f77aba55e2f85989ed6779",
              "versionType": "git"
            },
            {
              "lessThan": "5e82beba4bc1f91d0e64c9c43f2b2fa9cd1c2a7d",
              "status": "affected",
              "version": "b4b9771bcbbd5839b0f77aba55e2f85989ed6779",
              "versionType": "git"
            },
            {
              "lessThan": "bed792737b5f1ba773054dbe984502958bdfe6ce",
              "status": "affected",
              "version": "b4b9771bcbbd5839b0f77aba55e2f85989ed6779",
              "versionType": "git"
            },
            {
              "lessThan": "ac2f787980fdf4364cd5651a4c8128e59b8de3aa",
              "status": "affected",
              "version": "b4b9771bcbbd5839b0f77aba55e2f85989ed6779",
              "versionType": "git"
            },
            {
              "lessThan": "b4f1719dfea023220e0e6bd892b087d76b2a6a49",
              "status": "affected",
              "version": "b4b9771bcbbd5839b0f77aba55e2f85989ed6779",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/tipc/socket.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.0"
            },
            {
              "lessThan": "5.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.265",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.216",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.183",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.151",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.103",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.44",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.265",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.216",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.183",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.151",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.103",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.44",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.8",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntipc: avoid use-after-free in poll trace queue dumps\n\nTIPC socket tracepoints dump queue state through tipc_sk_dump(). Most\nqueue-dump callsites already serialize that walk under the socket lock or\nsk-\u003esk_lock.slock, but tipc_poll() calls trace_tipc_sk_poll(...,\nTIPC_DUMP_ALL, ...) without holding either lock.\n\nThat lets the poll trace path reach tipc_list_dump() and backlog head/tail\ndumping while another context dequeues and frees an skb, leaving the trace\nhelper dereferencing a stale queue entry.\n\nStop the unlocked poll trace site from requesting queue dumps. Other queue\ndump trace callsites keep their existing output under the locking they\nalready provide, while poll still emits the event itself without walking\nlive queue members from an unlocked context."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The UAF is a race between tipc_poll()\u0027s unlocked trace queue walk and concurrent skb dequeue/free on the TIPC receive path; on cluster nodes a remote TIPC peer can supply the freeing side while poll/epoll runs on the victim socket processing that network traffic.\nAC:L - The attacker controls both sides of the race by concurrently polling/epolling a TIPC socket while sending/receiving TIPC traffic (or having a remote peer deliver packets), and can repeat attempts until the unlocked head/tail dump overlaps skb free.\nPR:L - Exploitation requires only an unprivileged local process with an AF_TIPC socket calling poll/epoll while TIPC traffic is processed; no real-root capability is needed beyond participation in an operational TIPC cluster where tracing may be enabled for diagnostics.\nUI:N - No end-user interaction is required; the race is triggered by normal daemon poll/epoll loops and incoming TIPC packet processing on cluster nodes.\nS:U - Impact is confined to kernel memory corruption and privilege boundaries within the host kernel; this is not a cross-VM or cross-container sandbox escape scenario.\nC:H - The bug is a use-after-free where tipc_list_dump()/tipc_skb_dump() dereference head/tail skbs after concurrent dequeue/kfree, enabling reads of freed skb and message memory usable for kernel information disclosure.\nI:H - UAF on skb queue entries can be leveraged with heap grooming for arbitrary kernel writes and control-flow hijack, not merely a benign crash, because freed skbs can be reallocated under attacker-influenced TIPC traffic.\nA:H - Accessing freed skbs from the poll trace path can cause kernel oops/panic or hang during tipc_skb_dump(), and repeated triggering yields reliable denial of service on affected cluster nodes."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-19T16:37:45.610Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/3cd57c6b210d50fd1f7ac1720442ba5be5dc94f8"
        },
        {
          "url": "https://git.kernel.org/stable/c/ae7fc824970888b4fdaa076819c9a6f2fcede275"
        },
        {
          "url": "https://git.kernel.org/stable/c/78706367fe1b98aee0a6de27c62b7f1e3035f38d"
        },
        {
          "url": "https://git.kernel.org/stable/c/d7940bb6a8e7ab28f972c2875cb05783216312dc"
        },
        {
          "url": "https://git.kernel.org/stable/c/5e82beba4bc1f91d0e64c9c43f2b2fa9cd1c2a7d"
        },
        {
          "url": "https://git.kernel.org/stable/c/bed792737b5f1ba773054dbe984502958bdfe6ce"
        },
        {
          "url": "https://git.kernel.org/stable/c/ac2f787980fdf4364cd5651a4c8128e59b8de3aa"
        },
        {
          "url": "https://git.kernel.org/stable/c/b4f1719dfea023220e0e6bd892b087d76b2a6a49"
        }
      ],
      "title": "tipc: avoid use-after-free in poll trace queue dumps",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74490",
    "datePublished": "2026-08-15T12:27:20.107Z",
    "dateReserved": "2026-08-15T05:44:03.905Z",
    "dateUpdated": "2026-08-19T16:37:45.610Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…