Files
vuln-cve/data/2026/64xxx/CVE-2026-64078.json
T

171 lines
9.2 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-64078",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2026-07-19T07:54:57.031Z",
"datePublished": "2026-07-19T15:39:51.582Z",
"dateUpdated": "2026-08-05T12:38:58.654Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T12:38:58.654Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: x_tables: add and use xtables_unregister_table_exit\n\nPrevious change added xtables_unregister_table_pre_exit to detach the\ntable from the packetpath and to unlink it from the active table list.\nIn case of rmmod, userspace that is doing set/getsockopt for this table\nwill not be able to re-instantiate the table:\n 1. The larval table has been removed already\n 2. existing instantiated table is no longer on the xt pernet table list.\n\nThis adds the second stage helper:\n\nunlink the table from the dying list, free the hook ops (if any) and do\nthe audit notification. It replaces xt_unregister_table()."
}
],
"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 bug is reached only through local iptables/arptables setsockopt/getsockopt on `IPPROTO_IP`/`IPPROTO_IPV6` sockets (`do_ipt_set_ctl`/`do_ipt_get_ctl`), not by processing remote network packets.\nAC:L - Exploitation is a race between concurrent setsockopt traffic and netns teardown or `rmmod`; the attacker controls both sides (one thread hammering iptables, another deleting the netns or unloading the module) and can retry until the window is hit.\nPR:L - All vulnerable paths require `CAP_NET_ADMIN` in the target network namespace (`ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)`), which an unprivileged user can obtain inside a user/network namespace via `unshare`.\nUI:N - No victim interaction is required beyond the attacker’s own namespace lifecycle and iptables syscalls.\nS:U - Impact is confined to kernel memory corruption/privilege impact within the same kernel security domain; it is not a cross-VM or cross-container boundary escape.\nC:H - The teardown race leaves `xt_table`/`xt_table_info` reachable via setsockopt while `pre_exit`/`exit` frees them, creating a classic kernel heap use-after-free that can be turned into arbitrary memory disclosure.\nI:H - Concurrent `xt_replace_table()` against a table being torn down can corrupt or replace freed `xt_table_info` memory, enabling arbitrary kernel writes and potential privilege escalation.\nA:H - The race during `cleanup_net` or module unload can trigger kernel oops/panic from use-after-free or leave tables in an unrecoverable broken state affecting system availability."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"include/linux/netfilter/x_tables.h",
"net/ipv4/netfilter/arp_tables.c",
"net/ipv4/netfilter/ip_tables.c",
"net/ipv4/netfilter/iptable_nat.c",
"net/ipv6/netfilter/ip6_tables.c",
"net/ipv6/netfilter/ip6table_nat.c",
"net/netfilter/x_tables.c"
],
"versions": [
{
"version": "fdacd57c79b79a03c7ca88f706ad9fb7b46831c1",
"lessThan": "86ee5bc9c0f0e652e19f395675a432de11b75514",
"status": "affected",
"versionType": "git"
},
{
"version": "fdacd57c79b79a03c7ca88f706ad9fb7b46831c1",
"lessThan": "8026e5163cca1d1db436c7bfb89ddea8b5e8c2cf",
"status": "affected",
"versionType": "git"
},
{
"version": "fdacd57c79b79a03c7ca88f706ad9fb7b46831c1",
"lessThan": "b4597d5fd7d2f8cebfffd40dffb5e003cc78964c",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"include/linux/netfilter/x_tables.h",
"net/ipv4/netfilter/arp_tables.c",
"net/ipv4/netfilter/ip_tables.c",
"net/ipv4/netfilter/iptable_nat.c",
"net/ipv6/netfilter/ip6_tables.c",
"net/ipv6/netfilter/ip6table_nat.c",
"net/netfilter/x_tables.c"
],
"versions": [
{
"version": "5.15",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.15",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.18.34",
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "7.0.11",
"lessThanOrEqual": "7.0.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "7.1",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.15",
"versionEndExcluding": "6.18.34"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.15",
"versionEndExcluding": "7.0.11"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.15",
"versionEndExcluding": "7.1"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/86ee5bc9c0f0e652e19f395675a432de11b75514"
},
{
"url": "https://git.kernel.org/stable/c/8026e5163cca1d1db436c7bfb89ddea8b5e8c2cf"
},
{
"url": "https://git.kernel.org/stable/c/b4597d5fd7d2f8cebfffd40dffb5e003cc78964c"
}
],
"title": "netfilter: x_tables: add and use xtables_unregister_table_exit",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
}
}