{"id":"CVE-2026-53212","state":"PUBLISHED","title":"netfilter: nft_tunnel: fix use-after-free on object destroy","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_tunnel: fix use-after-free on object destroy\n\nnft_tunnel_obj_destroy() calls metadata_dst_free() which directly\nkfree()s the metadata_dst, ignoring the dst_entry refcount. Packets\nthat took a reference via dst_hold() in nft_tunnel_obj_eval() and\nare still queued (e.g. in a netem qdisc) are left with a dangling\npointer. When these packets are eventually dequeued, dst_release()\noperates on freed memory.\n\nReplace metadata_dst_free() with dst_release() so the metadata_dst\nis freed only after all references are dropped. The dst subsystem\nalready handles metadata_dst cleanup in dst_destroy() when\nDST_METADATA is set.","publishedAt":"2026-06-25T08:39:16.888Z","updatedAt":"2026-10-19T19:57:29.000Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"349df61526d2e39decc685d246202e3e284cfe05","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"55b79b1ae42372012413ce0413181d26679b17ef","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"5e9ee18b27fde88cb6148202b33916c66693fe82","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"8767fe4079affa74314d7eb3220e700150289842","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"fda6573a46ad24f35348e024905ee5bdf729797e","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"941d7394efda5e054e2d6f3e0dd0f6a9ba19aaa3","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"f9a0e4b61054cde89a2a77845293c726cc07cc43","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"c32b26aaa2f9216520a38b3f4bfeec846eb3eb8a","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nft_tunnel.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.19","versionType":"semver"},{"version":"5.10.259","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.210","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.176","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.94","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.36","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.13","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nft_tunnel.c"]}],"references":["https://git.kernel.org/stable/c/349df61526d2e39decc685d246202e3e284cfe05","https://git.kernel.org/stable/c/55b79b1ae42372012413ce0413181d26679b17ef","https://git.kernel.org/stable/c/5e9ee18b27fde88cb6148202b33916c66693fe82","https://git.kernel.org/stable/c/8767fe4079affa74314d7eb3220e700150289842","https://git.kernel.org/stable/c/fda6573a46ad24f35348e024905ee5bdf729797e","https://git.kernel.org/stable/c/941d7394efda5e054e2d6f3e0dd0f6a9ba19aaa3","https://git.kernel.org/stable/c/f9a0e4b61054cde89a2a77845293c726cc07cc43","https://git.kernel.org/stable/c/c32b26aaa2f9216520a38b3f4bfeec846eb3eb8a","https://cert-portal.siemens.com/productcert/html/ssa-784472.html"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:12:16.098Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/53xxx/CVE-2026-53212.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53212","state":"PUBLISHED","datePublished":"2026-06-25T08:39:16.888Z","dateUpdated":"2026-10-19T19:57:29.000Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-06-09T07:44:35.391Z"},"containers":{"cna":{"title":"netfilter: nft_tunnel: fix use-after-free on object destroy","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_tunnel: fix use-after-free on object destroy\n\nnft_tunnel_obj_destroy() calls metadata_dst_free() which directly\nkfree()s the metadata_dst, ignoring the dst_entry refcount. Packets\nthat took a reference via dst_hold() in nft_tunnel_obj_eval() and\nare still queued (e.g. in a netem qdisc) are left with a dangling\npointer. When these packets are eventually dequeued, dst_release()\noperates on freed memory.\n\nReplace metadata_dst_free() with dst_release() so the metadata_dst\nis freed only after all references are dropped. The dst subsystem\nalready handles metadata_dst cleanup in dst_destroy() when\nDST_METADATA is set."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"349df61526d2e39decc685d246202e3e284cfe05","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"55b79b1ae42372012413ce0413181d26679b17ef","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"5e9ee18b27fde88cb6148202b33916c66693fe82","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"8767fe4079affa74314d7eb3220e700150289842","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"fda6573a46ad24f35348e024905ee5bdf729797e","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"941d7394efda5e054e2d6f3e0dd0f6a9ba19aaa3","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"f9a0e4b61054cde89a2a77845293c726cc07cc43","versionType":"git"},{"version":"af308b94a2a4a5a27bec9028354c4df444a7c8ba","status":"affected","lessThan":"c32b26aaa2f9216520a38b3f4bfeec846eb3eb8a","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nft_tunnel.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.19","versionType":"semver"},{"version":"5.10.259","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.210","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.176","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.94","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.36","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.13","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nft_tunnel.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/349df61526d2e39decc685d246202e3e284cfe05"},{"url":"https://git.kernel.org/stable/c/55b79b1ae42372012413ce0413181d26679b17ef"},{"url":"https://git.kernel.org/stable/c/5e9ee18b27fde88cb6148202b33916c66693fe82"},{"url":"https://git.kernel.org/stable/c/8767fe4079affa74314d7eb3220e700150289842"},{"url":"https://git.kernel.org/stable/c/fda6573a46ad24f35348e024905ee5bdf729797e"},{"url":"https://git.kernel.org/stable/c/941d7394efda5e054e2d6f3e0dd0f6a9ba19aaa3"},{"url":"https://git.kernel.org/stable/c/f9a0e4b61054cde89a2a77845293c726cc07cc43"},{"url":"https://git.kernel.org/stable/c/c32b26aaa2f9216520a38b3f4bfeec846eb3eb8a"}],"metrics":[{"cvssV3_1":{"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"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable nft_tunnel object is created, referenced, and destroyed through nf_tables netlink operations and packet processing configured locally via nftables/netdev hooks. Remote packets may help populate a queue, but exploitation requires local control of nftables transactions.\nAC:L - The attacker can set up the tunnel object/rule, arrange queued packets such as with netem, and delete the rule/object sequence under their control. No uncontrollable race or rare external condition is required.\nPR:L - nfnetlink requires CAP_NET_ADMIN in the socket network namespace, and nftables/netfilter is reachable by an unprivileged local user through user and network namespaces on typical affected systems. This is low privilege rather than real init-namespace root.\nUI:N - No victim user action is required after the attacker has local execution. The trigger is performed through attacker-issued netlink configuration and packet generation/dequeue.\nS:U - The bug corrupts kernel networking memory and can lead to local kernel privilege escalation within the same security authority. It is not a VM escape, IOMMU bypass, or other CVSS scope-changing boundary crossing.\nC:H - This is a heap use-after-free of a metadata_dst referenced from queued skbs, and similar nf_tables UAFs are exploitable for kernel memory disclosure. Following the higher-severity rule for UAFs, confidentiality impact is high.\nI:H - The freed dst/metadata object can be reclaimed and later operated on through dst_release and related networking paths, giving a plausible route to memory corruption and control-flow or arbitrary write exploitation. Following the kernel UAF guidance, integrity impact is high.\nA:H - Even without full exploitation, dequeuing packets with a dangling dst pointer can cause a kernel oops, panic, or memory-corruption crash. Availability impact is therefore high."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:34:10.386Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.12.94"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.18.36"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"7.0.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"affected":[{"vendor":"Siemens","product":"SIMATIC S7-1500 TM MFP - GNU/Linux subsystem","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"*","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-784472.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T01:22:41.849Z"},"x_adpType":"supplier"},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-53212","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T15:26:56.855594Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T19:57:29.000Z"}}]}}}