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

CVE-2026-53247 (GCVE-0-2026-53247)

Vulnerability from cvelistv5 – Published: 2026-06-25 08:39 – Updated: 2026-08-05 12:34
VLAI
Title
net: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown
Summary
In the Linux kernel, the following vulnerability has been resolved: net: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown mtk_free_dev() calls metadata_dst_free() which frees the metadata_dst with kfree() immediately, bypassing the RCU grace period. In the RX path, skb_dst_set_noref() sets a non-refcounted pointer from the skb to the metadata_dst. This function requires RCU read-side protection and the dst must remain valid until all RCU readers complete. Since metadata_dst_free() calls kfree() directly, a use-after-free can occur if any skb still holds a noref pointer to the dst when the driver tears it down. Replace metadata_dst_free() with dst_release() which properly goes through the refcount path: when the refcount drops to zero, it schedules the actual free via call_rcu_hurry(), ensuring all RCU readers have completed before the memory is freed.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 2d7605a729062bb554f03c5983d8cfb8c0b42e9c , < 72775977e89c25c99ee84d2c5baa3f86a8ba5cb4 (git)
Affected: 2d7605a729062bb554f03c5983d8cfb8c0b42e9c , < 459c6f35c58cf0fd5247e55d73ddaa29571d9b7e (git)
Affected: 2d7605a729062bb554f03c5983d8cfb8c0b42e9c , < e634408d2b0cd939cfe019398a21fb47b7a8ffe3 (git)
Affected: 2d7605a729062bb554f03c5983d8cfb8c0b42e9c , < 2d86aeb46d5f69c704065a8c69822582787272a1 (git)
Affected: 2d7605a729062bb554f03c5983d8cfb8c0b42e9c , < 80df409e1a483676826a6c66e693dba6ac507751 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.2
Unaffected: 0 , < 6.2 (semver)
Unaffected: 6.6.143 , ≤ 6.6.* (semver)
Unaffected: 6.12.94 , ≤ 6.12.* (semver)
Unaffected: 6.18.36 , ≤ 6.18.* (semver)
Unaffected: 7.0.13 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/mediatek/mtk_eth_soc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "72775977e89c25c99ee84d2c5baa3f86a8ba5cb4",
              "status": "affected",
              "version": "2d7605a729062bb554f03c5983d8cfb8c0b42e9c",
              "versionType": "git"
            },
            {
              "lessThan": "459c6f35c58cf0fd5247e55d73ddaa29571d9b7e",
              "status": "affected",
              "version": "2d7605a729062bb554f03c5983d8cfb8c0b42e9c",
              "versionType": "git"
            },
            {
              "lessThan": "e634408d2b0cd939cfe019398a21fb47b7a8ffe3",
              "status": "affected",
              "version": "2d7605a729062bb554f03c5983d8cfb8c0b42e9c",
              "versionType": "git"
            },
            {
              "lessThan": "2d86aeb46d5f69c704065a8c69822582787272a1",
              "status": "affected",
              "version": "2d7605a729062bb554f03c5983d8cfb8c0b42e9c",
              "versionType": "git"
            },
            {
              "lessThan": "80df409e1a483676826a6c66e693dba6ac507751",
              "status": "affected",
              "version": "2d7605a729062bb554f03c5983d8cfb8c0b42e9c",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/mediatek/mtk_eth_soc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.2"
            },
            {
              "lessThan": "6.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.143",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.94",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.36",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.143",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.94",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.36",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.13",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown\n\nmtk_free_dev() calls metadata_dst_free() which frees the metadata_dst\nwith kfree() immediately, bypassing the RCU grace period.\nIn the RX path, skb_dst_set_noref() sets a non-refcounted pointer from\nthe skb to the metadata_dst. This function requires RCU read-side\nprotection and the dst must remain valid until all RCU readers complete.\nSince metadata_dst_free() calls kfree() directly, a use-after-free can\noccur if any skb still holds a noref pointer to the dst when the driver\ntears it down.\nReplace metadata_dst_free() with dst_release() which properly goes\nthrough the refcount path: when the refcount drops to zero, it schedules\nthe actual free via call_rcu_hurry(), ensuring all RCU readers have\ncompleted before the memory is freed."
        }
      ],
      "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 - Packets received on the affected MediaTek Ethernet/DSA data path can cause skbs to carry the vulnerable non-refcounted metadata dst. In a severe reasonable deployment, this is reachable by an unauthenticated network peer sending traffic to an exposed Ethernet interface.\nAC:L - The RX path reliably assigns the metadata dst under the DSA hardware untagging conditions, and the bug is a straightforward lifetime violation during teardown. Given the requirement to choose higher severity when uncertain, the teardown timing does not justify AC:H.\nPR:N - The attacker needs no credentials to send packets that enter the affected RX path and populate skbs with the stale metadata pointer. Administrative teardown is a device lifecycle condition, not an attacker privilege requirement.\nUI:N - No victim user must open a file or perform a protocol-level action for malicious packets to enter the vulnerable path. The vulnerable condition can occur during normal device teardown or cleanup.\nS:U - The corruption occurs within the same kernel security authority as the affected network driver and networking stack. There is no guest-to-host, IOMMU, or separate-scope boundary crossing.\nC:H - This is a kernel use-after-free of a metadata_dst object referenced from skbs. Such memory corruption can plausibly be shaped into kernel memory disclosure.\nI:H - A kernel use-after-free can plausibly be exploited through heap reuse to corrupt controlled kernel objects or hijack control/data flow. Under the required higher-severity rule, integrity impact is High.\nA:H - The stale dst pointer can be dereferenced by GRO/DSA/network stack processing after immediate kfree. Even without full exploitation, this can cause kernel oops or panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:34:31.498Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/72775977e89c25c99ee84d2c5baa3f86a8ba5cb4"
        },
        {
          "url": "https://git.kernel.org/stable/c/459c6f35c58cf0fd5247e55d73ddaa29571d9b7e"
        },
        {
          "url": "https://git.kernel.org/stable/c/e634408d2b0cd939cfe019398a21fb47b7a8ffe3"
        },
        {
          "url": "https://git.kernel.org/stable/c/2d86aeb46d5f69c704065a8c69822582787272a1"
        },
        {
          "url": "https://git.kernel.org/stable/c/80df409e1a483676826a6c66e693dba6ac507751"
        }
      ],
      "title": "net: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-53247",
    "datePublished": "2026-06-25T08:39:40.654Z",
    "dateReserved": "2026-06-09T07:44:35.394Z",
    "dateUpdated": "2026-08-05T12:34:31.498Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-53247",
      "date": "2026-09-16",
      "epss": "0.00467",
      "percentile": "0.39354"
    },
    "microsoft_vex": {
      "current_release_date": "2026-07-02T14:46:07.000Z",
      "cve": "CVE-2026-53247",
      "id": "msrc_CVE-2026-53247",
      "initial_release_date": "2026-06-02T00:00:00.000Z",
      "product_status:known_not_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "net: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-53247.json",
      "version": "3"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-53247\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-06-25T09:16:42.657\",\"lastModified\":\"2026-07-07T22:16:24.543\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown\\n\\nmtk_free_dev() calls metadata_dst_free() which frees the metadata_dst\\nwith kfree() immediately, bypassing the RCU grace period.\\nIn the RX path, skb_dst_set_noref() sets a non-refcounted pointer from\\nthe skb to the metadata_dst. This function requires RCU read-side\\nprotection and the dst must remain valid until all RCU readers complete.\\nSince metadata_dst_free() calls kfree() directly, a use-after-free can\\noccur if any skb still holds a noref pointer to the dst when the driver\\ntears it down.\\nReplace metadata_dst_free() with dst_release() which properly goes\\nthrough the refcount path: when the refcount drops to zero, it schedules\\nthe actual free via call_rcu_hurry(), ensuring all RCU readers have\\ncompleted before the memory is freed.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/ethernet/mediatek/mtk_eth_soc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"2d7605a729062bb554f03c5983d8cfb8c0b42e9c\",\"lessThan\":\"72775977e89c25c99ee84d2c5baa3f86a8ba5cb4\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2d7605a729062bb554f03c5983d8cfb8c0b42e9c\",\"lessThan\":\"459c6f35c58cf0fd5247e55d73ddaa29571d9b7e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2d7605a729062bb554f03c5983d8cfb8c0b42e9c\",\"lessThan\":\"e634408d2b0cd939cfe019398a21fb47b7a8ffe3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2d7605a729062bb554f03c5983d8cfb8c0b42e9c\",\"lessThan\":\"2d86aeb46d5f69c704065a8c69822582787272a1\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2d7605a729062bb554f03c5983d8cfb8c0b42e9c\",\"lessThan\":\"80df409e1a483676826a6c66e693dba6ac507751\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/net/ethernet/mediatek/mtk_eth_soc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.2\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.2\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.143\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.94\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.36\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0.13\",\"lessThanOrEqual\":\"7.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1\",\"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:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.143\",\"matchCriteriaId\":\"9062F1CD-CAD6-4EA2-A73F-C06D4A887B8C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.94\",\"matchCriteriaId\":\"85421C0C-ABDE-4357-971C-67F9087DE1B9\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.18.36\",\"matchCriteriaId\":\"389025D2-958D-41BD-BD96-70ED1033A9F3\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.19\",\"versionEndExcluding\":\"7.0.13\",\"matchCriteriaId\":\"6A64BF9F-3BCA-42FD-98CB-8F03474D2B1E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"B1EF7059-E670-45F4-B422-54C40FA86390\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"0D38F0BF-A728-4133-A358-D44A2F7EE6D6\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"EC732D08-5F7B-46D9-B154-E60C7F4F0A97\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"E5910A9D-F60A-409A-B486-FE66BFEBA9B9\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"81DFF19E-9CF8-49C6-8C36-1E4038622933\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"B0E8FC71-3952-444C-83E9-718DBBBEC615\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2d86aeb46d5f69c704065a8c69822582787272a1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/459c6f35c58cf0fd5247e55d73ddaa29571d9b7e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/72775977e89c25c99ee84d2c5baa3f86a8ba5cb4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/80df409e1a483676826a6c66e693dba6ac507751\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e634408d2b0cd939cfe019398a21fb47b7a8ffe3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-26T00:18:46+00:00",
      "cve": "CVE-2026-53247",
      "id": "CVE-2026-53247",
      "initial_release_date": "2026-06-25T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53247.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-10T16:56:20Z",
      "cve": "CVE-2026-53247",
      "id": "CVE-2026-53247",
      "initial_release_date": "2026-06-26T02:08:45Z",
      "product_status:first_fixed": "2",
      "product_status:known_affected": "91",
      "product_status:known_not_affected": "279",
      "product_status:recommended": "145",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-53247",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-53247.json",
      "version": "8"
    }
  }
}



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…