netfilter: xt_nat: reject unsupported target families
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: xt_nat: reject unsupported target families xt_nat SNAT and DNAT target handlers assume IP-family conntrack state is present and can dereference a NULL pointer when instantiated from an unsupported family through nft_compat. A bridge-family compat rule can therefore trigger a NULL-dereference in nf_nat_setup_info(). Reject non-IP families in xt_nat_checkentry() so unsupported targets cannot be installed. Keep NFPROTO_INET allowed for valid inet NAT compat users and leave the runtime fast path unchanged. [ The crash was fixed via 9dbba7e694ec ("netfilter: nft_compat: ebtables emulation must reject non-bridge targets"), so this patch is no longer critical. Nevertheless, NAT is only relevant for ipv4/ipv6, so this extra family check is a good idea in any case. ]
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From c7232c9979cba684c50b64c513c4a83c9aa70563 · fixed in 49abe564391411057a26a9a943c8e17867c3b9b4; From c7232c9979cba684c50b64c513c4a83c9aa70563 · fixed in 0afc9ad987c0faa80ab5f8d6e7815085ac8dbb82; From c7232c9979cba684c50b64c513c4a83c9aa70563 · fixed in 4fbc2bac02edabb665beb2aa87ca6f1e1d4c4777; From c7232c9979cba684c50b64c513c4a83c9aa70563 · fixed in a842dab87cab29f2a5798a47b2dc5e6a449950bf; From c7232c9979cba684c50b64c513c4a83c9aa70563 · fixed in e35c048d7511e9d4c2a537b8a231c49606e97c16; From c7232c9979cba684c50b64c513c4a83c9aa70563 · fixed in 679ced28a9dc2f6dc679eb05027d779693e60902; From c7232c9979cba684c50b64c513c4a83c9aa70563 · fixed in ec88fa71c82072e9189983b05b499d3507550271; From c7232c9979cba684c50b64c513c4a83c9aa70563 · fixed in 5d1a2240935ea47e2673d0ea17fdb058e4dc91dd
- Linux Linux
3.7
- KernelLinux
From 3.7.0 · fixed in 5.10.261; From 5.11.0 · fixed in 5.15.212; From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5
References 8
git.kernel.org
- stable/c/49abe564391411057a26a9a943c8e17867c3b9b4
- stable/c/0afc9ad987c0faa80ab5f8d6e7815085ac8dbb82
- stable/c/4fbc2bac02edabb665beb2aa87ca6f1e1d4c4777
- stable/c/a842dab87cab29f2a5798a47b2dc5e6a449950bf
- stable/c/e35c048d7511e9d4c2a537b8a231c49606e97c16
- stable/c/679ced28a9dc2f6dc679eb05027d779693e60902
- stable/c/ec88fa71c82072e9189983b05b499d3507550271
- stable/c/5d1a2240935ea47e2673d0ea17fdb058e4dc91dd