{"id":"CVE-2026-53247","summary":"net: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown","details":"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.","modified":"2026-07-09T18:30:34.143683283Z","published":"2026-06-25T08:39:40.654Z","related":["CGA-jcrm-685q-hjxr"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53247.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/2d86aeb46d5f69c704065a8c69822582787272a1"},{"type":"WEB","url":"https://git.kernel.org/stable/c/459c6f35c58cf0fd5247e55d73ddaa29571d9b7e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/72775977e89c25c99ee84d2c5baa3f86a8ba5cb4"},{"type":"WEB","url":"https://git.kernel.org/stable/c/80df409e1a483676826a6c66e693dba6ac507751"},{"type":"WEB","url":"https://git.kernel.org/stable/c/e634408d2b0cd939cfe019398a21fb47b7a8ffe3"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53247.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53247"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"2d7605a729062bb554f03c5983d8cfb8c0b42e9c"},{"fixed":"72775977e89c25c99ee84d2c5baa3f86a8ba5cb4"},{"fixed":"459c6f35c58cf0fd5247e55d73ddaa29571d9b7e"},{"fixed":"e634408d2b0cd939cfe019398a21fb47b7a8ffe3"},{"fixed":"2d86aeb46d5f69c704065a8c69822582787272a1"},{"fixed":"80df409e1a483676826a6c66e693dba6ac507751"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53247.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.143"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.94"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.36"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.0.13"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53247.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}