CVE-2022-49561 (GCVE-0-2022-49561)
Vulnerability from cvelistv5
Published
2025-02-26 02:14
Modified
2026-08-05 08:55
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: conntrack: re-fetch conntrack after insertion In case the conntrack is clashing, insertion can free skb->_nfct and set skb->_nfct to the already-confirmed entry. This wasn't found before because the conntrack entry and the extension space used to free'd after an rcu grace period, plus the race needs events enabled to trigger.
Impacted products
Vendor Product Version
Linux Linux Version: 71d8c47fc653711c41bc3282e5b0e605b3727956
Version: 71d8c47fc653711c41bc3282e5b0e605b3727956
Version: 71d8c47fc653711c41bc3282e5b0e605b3727956
Version: 71d8c47fc653711c41bc3282e5b0e605b3727956
Version: 71d8c47fc653711c41bc3282e5b0e605b3727956
Version: 71d8c47fc653711c41bc3282e5b0e605b3727956
Version: 71d8c47fc653711c41bc3282e5b0e605b3727956
Version: 71d8c47fc653711c41bc3282e5b0e605b3727956
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "include/net/netfilter/nf_conntrack_core.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e97222b785e70e8973281666d709baad6523d8af",
              "status": "affected",
              "version": "71d8c47fc653711c41bc3282e5b0e605b3727956",
              "versionType": "git"
            },
            {
              "lessThan": "92a999d1963eed0df666284e20055136ceabd12f",
              "status": "affected",
              "version": "71d8c47fc653711c41bc3282e5b0e605b3727956",
              "versionType": "git"
            },
            {
              "lessThan": "b16bb373988da3ceb0308381634117e18b6ec60d",
              "status": "affected",
              "version": "71d8c47fc653711c41bc3282e5b0e605b3727956",
              "versionType": "git"
            },
            {
              "lessThan": "91a36ec160ec1a0c8f5352b772dffcbb0b6023e3",
              "status": "affected",
              "version": "71d8c47fc653711c41bc3282e5b0e605b3727956",
              "versionType": "git"
            },
            {
              "lessThan": "01989d7eebb61c99bd4b88ebc8e261bd2f02caed",
              "status": "affected",
              "version": "71d8c47fc653711c41bc3282e5b0e605b3727956",
              "versionType": "git"
            },
            {
              "lessThan": "04f9e9104c969d8ce10a4a43634f641ed082092d",
              "status": "affected",
              "version": "71d8c47fc653711c41bc3282e5b0e605b3727956",
              "versionType": "git"
            },
            {
              "lessThan": "04e4a11dc723c52db7a36dc58f0d69ce6426f8f0",
              "status": "affected",
              "version": "71d8c47fc653711c41bc3282e5b0e605b3727956",
              "versionType": "git"
            },
            {
              "lessThan": "56b14ecec97f39118bf85c9ac2438c5a949509ed",
              "status": "affected",
              "version": "71d8c47fc653711c41bc3282e5b0e605b3727956",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "include/net/netfilter/nf_conntrack_core.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.7"
            },
            {
              "lessThan": "4.7",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.282",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.246",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.197",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.120",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.45",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.17.*",
              "status": "unaffected",
              "version": "5.17.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.18.*",
              "status": "unaffected",
              "version": "5.18.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.19",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.14.282",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.246",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.197",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.120",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.45",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.17.13",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.18.2",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: conntrack: re-fetch conntrack after insertion\n\nIn case the conntrack is clashing, insertion can free skb-\u003e_nfct and\nset skb-\u003e_nfct to the already-confirmed entry.\n\nThis wasn\u0027t found before because the conntrack entry and the extension\nspace used to free\u0027d after an rcu grace period, plus the race needs\nevents enabled to trigger."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The UAF sits in nf_conntrack_confirm(), invoked from nf_confirm on NF_INET_LOCAL_IN and NF_INET_POST_ROUTING for packets traversing conntrack. On firewalls, NAT gateways, Docker/K8s hosts, and internet-facing servers with stateful filtering, a remote peer\u2019s packets reach this path with no local login.\nAC:L - The insertion clash is triggered by concurrent UDP (allow_clash) flows that the attacker can send themselves, so they control both sides of the race. Conntrack event/ecache support is common in real deployments; it is not a rare uncontrollable condition.\nPR:N - Exploitation uses unauthenticated network packets against an already-active conntrack data path. No credentials or CAP_NET_ADMIN are required on the attacker side once the victim system is tracking connections.\nUI:N - The attacker only needs to send crafted concurrent packets; no victim user action such as mounting a device or opening a file is required.\nS:U - Impact is memory corruption within the host kernel\u2019s conntrack authority. This is standard local kernel compromise, not a VM/IOMMU/sandbox boundary crossing.\nC:H - Clash resolution can nf_ct_put()/free the loser ct and immediately kfree its extension, then nf_ct_ecache_exist/nf_ct_deliver_cached_events reuse that pointer\u2014a use-after-free that can yield arbitrary read primitives.\nI:H - The same UAF on the nf_conn/extension heap is exploitable for heap reuse and arbitrary write/control-flow hijacking under standard kernel UAF exploitation.\nA:H - Dereferencing the freed conntrack/ecache state can oops/panic the kernel, and UAFs are treated as high availability impact even when not fully turned into code execution."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:55:45.099Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e97222b785e70e8973281666d709baad6523d8af"
        },
        {
          "url": "https://git.kernel.org/stable/c/92a999d1963eed0df666284e20055136ceabd12f"
        },
        {
          "url": "https://git.kernel.org/stable/c/b16bb373988da3ceb0308381634117e18b6ec60d"
        },
        {
          "url": "https://git.kernel.org/stable/c/91a36ec160ec1a0c8f5352b772dffcbb0b6023e3"
        },
        {
          "url": "https://git.kernel.org/stable/c/01989d7eebb61c99bd4b88ebc8e261bd2f02caed"
        },
        {
          "url": "https://git.kernel.org/stable/c/04f9e9104c969d8ce10a4a43634f641ed082092d"
        },
        {
          "url": "https://git.kernel.org/stable/c/04e4a11dc723c52db7a36dc58f0d69ce6426f8f0"
        },
        {
          "url": "https://git.kernel.org/stable/c/56b14ecec97f39118bf85c9ac2438c5a949509ed"
        }
      ],
      "title": "netfilter: conntrack: re-fetch conntrack after insertion",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49561",
    "datePublished": "2025-02-26T02:14:06.030Z",
    "dateReserved": "2025-02-26T02:08:31.591Z",
    "dateUpdated": "2026-08-05T08:55:45.099Z",
    "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…