GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2023-53733 (GCVE-0-2023-53733)

Vulnerability from cvelistv5 – Published: 2025-10-24 11:44 – Updated: 2026-08-05 09:15
VLAI
Title
net: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode
Summary
In the Linux kernel, the following vulnerability has been resolved: net: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode When u32_replace_hw_knode fails, we need to undo the tcf_bind_filter operation done at u32_set_parms.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: d34e3e181395192d6d1f50dd97bd7854e04e33a4 , < a9345793469b65ee5ba7b033239916c2a67d3dd4 (git)
Affected: d34e3e181395192d6d1f50dd97bd7854e04e33a4 , < 025159ed118ba5145b241d574edadb0e00d3c20f (git)
Affected: d34e3e181395192d6d1f50dd97bd7854e04e33a4 , < 9cb36faedeafb9720ac236aeae2ea57091d90a09 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.7
Unaffected: 0 , < 4.7 (semver)
Unaffected: 6.1.42 , ≤ 6.1.* (semver)
Unaffected: 6.4.7 , ≤ 6.4.* (semver)
Unaffected: 6.5 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/sched/cls_u32.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a9345793469b65ee5ba7b033239916c2a67d3dd4",
              "status": "affected",
              "version": "d34e3e181395192d6d1f50dd97bd7854e04e33a4",
              "versionType": "git"
            },
            {
              "lessThan": "025159ed118ba5145b241d574edadb0e00d3c20f",
              "status": "affected",
              "version": "d34e3e181395192d6d1f50dd97bd7854e04e33a4",
              "versionType": "git"
            },
            {
              "lessThan": "9cb36faedeafb9720ac236aeae2ea57091d90a09",
              "status": "affected",
              "version": "d34e3e181395192d6d1f50dd97bd7854e04e33a4",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/sched/cls_u32.c"
          ],
          "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": "6.1.*",
              "status": "unaffected",
              "version": "6.1.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.42",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.7",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "versionStartIncluding": "4.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode\n\nWhen u32_replace_hw_knode fails, we need to undo the tcf_bind_filter\noperation done at u32_set_parms."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable path is reached through the rtnetlink `RTM_NEWTFILTER` interface (tc filter add/change) on the local system; no network peer can drive filter configuration. Packet transmission only serves to consume the corrupted state afterwards.\nAC:L - Failure of `u32_replace_hw_knode()` is fully attacker-controlled \u2014 setting the `skip_sw` flag on a filter attached to a non-offload-capable device (dummy/veth/lo) makes `tc_setup_cb_add()` return `-EOPNOTSUPP` deterministically on every attempt, with no race and no dependence on state outside the attacker\u0027s control.\nPR:L - Only `CAP_NET_ADMIN` within a network namespace is needed, which any unprivileged local user obtains with `unshare -Urn` before creating a dummy device, an HTB qdisc with classes, and u32 filters. Per kernel CNA guidance, tc/qdisc paths reachable via user namespaces are PR:L, not PR:H.\nUI:N - The attacker performs the entire sequence (create qdisc/class, repeatedly issue the failing filter add, delete the class, send traffic) unaided. No victim action is required at any point.\nS:U - The corrupted `filter_cnt` accounting and the resulting freed `htb_class` object both live in the kernel of the same machine, so the impact stays within a single security authority. This is standard kernel-local privilege escalation, not a hypervisor or IOMMU boundary crossing.\nC:H - The refcount imbalance permits a still-referenced traffic class to be freed while `res.class` remains a dangling pointer consumed by `htb_classify()`, giving a use-after-free on a slab object the attacker can reallocate and read back. Per guidance, a UAF that grants control over freed-object contents is High confidentiality impact.\nI:H - The same use-after-free lets a sprayed replacement object supply `cl-\u003elevel`, `cl-\u003eleaf.q` and the qdisc function pointers dereferenced in the enqueue path, yielding a write/control-flow-hijack primitive \u2014 the same primitive that produced working local privilege escalation for the sibling cls_u32 tcf_result bugs. Type-confused/UAF corruption of kernel objects is High integrity impact.\nA:H - Even without exploitation, the leaked `filter_cnt` permanently pins the class and its qdisc so `tc class del` always returns `-EBUSY` and the memory is never reclaimed, and the dangling `res.class` dereference in the packet enqueue path oopses the kernel. Any kernel crash or use-after-free is High availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:15:44.713Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a9345793469b65ee5ba7b033239916c2a67d3dd4"
        },
        {
          "url": "https://git.kernel.org/stable/c/025159ed118ba5145b241d574edadb0e00d3c20f"
        },
        {
          "url": "https://git.kernel.org/stable/c/9cb36faedeafb9720ac236aeae2ea57091d90a09"
        }
      ],
      "title": "net: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53733",
    "datePublished": "2025-10-24T11:44:28.115Z",
    "dateReserved": "2025-10-22T13:21:37.350Z",
    "dateUpdated": "2026-08-05T09:15:44.713Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-53733",
      "date": "2026-09-17",
      "epss": "0.00141",
      "percentile": "0.03786"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53733\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-10-24T12:15:35.617\",\"lastModified\":\"2026-08-04T10:19:19.427\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode\\n\\nWhen u32_replace_hw_knode fails, we need to undo the tcf_bind_filter\\noperation done at u32_set_parms.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/sched/cls_u32.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"d34e3e181395192d6d1f50dd97bd7854e04e33a4\",\"lessThan\":\"a9345793469b65ee5ba7b033239916c2a67d3dd4\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d34e3e181395192d6d1f50dd97bd7854e04e33a4\",\"lessThan\":\"025159ed118ba5145b241d574edadb0e00d3c20f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d34e3e181395192d6d1f50dd97bd7854e04e33a4\",\"lessThan\":\"9cb36faedeafb9720ac236aeae2ea57091d90a09\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/sched/cls_u32.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.7\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.7\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.42\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.4.7\",\"lessThanOrEqual\":\"6.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.5\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/025159ed118ba5145b241d574edadb0e00d3c20f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9cb36faedeafb9720ac236aeae2ea57091d90a09\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a9345793469b65ee5ba7b033239916c2a67d3dd4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:16:43+00:00",
      "cve": "CVE-2023-53733",
      "id": "CVE-2023-53733",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:known_affected": "198",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-53733.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

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…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…