CVE-2023-53200 (GCVE-0-2023-53200)

Vulnerability from cvelistv5 – Published: 2025-09-15 14:21 – Updated: 2025-09-15 14:21
VLAI?
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: x_tables: fix percpu counter block leak on error path when creating new netns Here is the stack where we allocate percpu counter block: +-< __alloc_percpu +-< xt_percpu_counter_alloc +-< find_check_entry # {arp,ip,ip6}_tables.c +-< translate_table And it can be leaked on this code path: +-> ip6t_register_table +-> translate_table # allocates percpu counter block +-> xt_register_table # fails there is no freeing of the counter block on xt_register_table fail. Note: xt_percpu_counter_free should be called to free it like we do in do_replace through cleanup_entry helper (or in __ip6t_unregister_table). Probability of hitting this error path is low AFAICS (xt_register_table can only return ENOMEM here, as it is not replacing anything, as we are creating new netns, and it is hard to imagine that all previous allocations succeeded and after that one in xt_register_table failed). But it's worth fixing even the rare leak.
Severity ?
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 71ae0dff02d756e4d2ca710b79f2ff5390029a5f , < e306dbee4c98025a9326386023a12ef4d887e9d1 (git)
Affected: 71ae0dff02d756e4d2ca710b79f2ff5390029a5f , < 512b6c4b83c91d007301ea7d7f095d16c3aceacd (git)
Affected: 71ae0dff02d756e4d2ca710b79f2ff5390029a5f , < 3cc9610a87b7dde82f7360dd4eb6c2c27940ed57 (git)
Affected: 71ae0dff02d756e4d2ca710b79f2ff5390029a5f , < 0af8c09c896810879387decfba8c942994bb61f5 (git)
Create a notification for this product.
    Linux Linux Affected: 4.2
Unaffected: 0 , < 4.2 (semver)
Unaffected: 5.15.100 , ≤ 5.15.* (semver)
Unaffected: 6.1.18 , ≤ 6.1.* (semver)
Unaffected: 6.2.5 , ≤ 6.2.* (semver)
Unaffected: 6.3 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/ipv4/netfilter/arp_tables.c",
            "net/ipv4/netfilter/ip_tables.c",
            "net/ipv6/netfilter/ip6_tables.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e306dbee4c98025a9326386023a12ef4d887e9d1",
              "status": "affected",
              "version": "71ae0dff02d756e4d2ca710b79f2ff5390029a5f",
              "versionType": "git"
            },
            {
              "lessThan": "512b6c4b83c91d007301ea7d7f095d16c3aceacd",
              "status": "affected",
              "version": "71ae0dff02d756e4d2ca710b79f2ff5390029a5f",
              "versionType": "git"
            },
            {
              "lessThan": "3cc9610a87b7dde82f7360dd4eb6c2c27940ed57",
              "status": "affected",
              "version": "71ae0dff02d756e4d2ca710b79f2ff5390029a5f",
              "versionType": "git"
            },
            {
              "lessThan": "0af8c09c896810879387decfba8c942994bb61f5",
              "status": "affected",
              "version": "71ae0dff02d756e4d2ca710b79f2ff5390029a5f",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/ipv4/netfilter/arp_tables.c",
            "net/ipv4/netfilter/ip_tables.c",
            "net/ipv6/netfilter/ip6_tables.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.2"
            },
            {
              "lessThan": "4.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.100",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.18",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.100",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.18",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2.5",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.3",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: x_tables: fix percpu counter block leak on error path when creating new netns\n\nHere is the stack where we allocate percpu counter block:\n\n  +-\u003c __alloc_percpu\n    +-\u003c xt_percpu_counter_alloc\n      +-\u003c find_check_entry # {arp,ip,ip6}_tables.c\n        +-\u003c translate_table\n\nAnd it can be leaked on this code path:\n\n  +-\u003e ip6t_register_table\n    +-\u003e translate_table # allocates percpu counter block\n    +-\u003e xt_register_table # fails\n\nthere is no freeing of the counter block on xt_register_table fail.\nNote: xt_percpu_counter_free should be called to free it like we do in\ndo_replace through cleanup_entry helper (or in __ip6t_unregister_table).\n\nProbability of hitting this error path is low AFAICS (xt_register_table\ncan only return ENOMEM here, as it is not replacing anything, as we are\ncreating new netns, and it is hard to imagine that all previous\nallocations succeeded and after that one in xt_register_table failed).\nBut it\u0027s worth fixing even the rare leak."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-09-15T14:21:28.466Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e306dbee4c98025a9326386023a12ef4d887e9d1"
        },
        {
          "url": "https://git.kernel.org/stable/c/512b6c4b83c91d007301ea7d7f095d16c3aceacd"
        },
        {
          "url": "https://git.kernel.org/stable/c/3cc9610a87b7dde82f7360dd4eb6c2c27940ed57"
        },
        {
          "url": "https://git.kernel.org/stable/c/0af8c09c896810879387decfba8c942994bb61f5"
        }
      ],
      "title": "netfilter: x_tables: fix percpu counter block leak on error path when creating new netns",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53200",
    "datePublished": "2025-09-15T14:21:28.466Z",
    "dateReserved": "2025-09-15T13:59:19.067Z",
    "dateUpdated": "2025-09-15T14:21:28.466Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53200\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-09-15T15:15:46.400\",\"lastModified\":\"2025-12-04T15:07:32.157\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnetfilter: x_tables: fix percpu counter block leak on error path when creating new netns\\n\\nHere is the stack where we allocate percpu counter block:\\n\\n  +-\u003c __alloc_percpu\\n    +-\u003c xt_percpu_counter_alloc\\n      +-\u003c find_check_entry # {arp,ip,ip6}_tables.c\\n        +-\u003c translate_table\\n\\nAnd it can be leaked on this code path:\\n\\n  +-\u003e ip6t_register_table\\n    +-\u003e translate_table # allocates percpu counter block\\n    +-\u003e xt_register_table # fails\\n\\nthere is no freeing of the counter block on xt_register_table fail.\\nNote: xt_percpu_counter_free should be called to free it like we do in\\ndo_replace through cleanup_entry helper (or in __ip6t_unregister_table).\\n\\nProbability of hitting this error path is low AFAICS (xt_register_table\\ncan only return ENOMEM here, as it is not replacing anything, as we are\\ncreating new netns, and it is hard to imagine that all previous\\nallocations succeeded and after that one in xt_register_table failed).\\nBut it\u0027s worth fixing even the rare leak.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-401\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.2\",\"versionEndExcluding\":\"5.15.100\",\"matchCriteriaId\":\"597EA373-48DF-4357-AABE-E932074EE4EB\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.18\",\"matchCriteriaId\":\"C8D24FD5-5A98-4042-9419-39DCFCBEFFF5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.2.5\",\"matchCriteriaId\":\"0575B33B-A320-4E51-84CA-10C937341E02\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0af8c09c896810879387decfba8c942994bb61f5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/3cc9610a87b7dde82f7360dd4eb6c2c27940ed57\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/512b6c4b83c91d007301ea7d7f095d16c3aceacd\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e306dbee4c98025a9326386023a12ef4d887e9d1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}"
  }
}


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 observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…