Linux: netfilter: bpf: reject invalid NAT manipulation types
What fixes it
- 752492947be3123ea6c689e2f93ae04ecd675d42LinuxCVE List
- 58108f05b0502448f6bb612ee2eccc63bd6449cbLinuxCVE List
- 16d464013ec2267b00a83f4bfbb97b3ecc63bfa7LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
netfilter: bpf: reject invalid NAT manipulation types
As bpf_ct_set_nat_info() is not validating the NAT manipulation type a wrong value can be passed directly to nf_nat_setup_info(). This triggers the WARN_ON() at nf_nat_setup_info() and if panic_on_warn isn't set, then IPS_SRC_NAT_DONE is set without adding nat_bysource and conntrack cleanup tries to unlink an uninitialized hlist node.
Fix this by checking that NAT manipulation type is correct before calling nf_nat_setup_info(). In addition, if the WARN_ON is hit, return NF_DROP instead of continuing with the processing to avoid similar situations in the future.
Text from CVE List
Affected versions 12
- Linuxaffected: 0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 before 752492947be3123ea6c689e2f93ae04ecd675d42CVE List
- Linuxaffected: 0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 before ea777dc90ab37e64fa4b92f6fcf3b5edcef5e058CVE List
- Linuxaffected: 0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 before f6143ae109df56d51d5536e813deb19eee7a6205CVE List
- Linuxaffected: 0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 before 58108f05b0502448f6bb612ee2eccc63bd6449cbCVE List
- Linuxaffected: 0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 before 16d464013ec2267b00a83f4bfbb97b3ecc63bfa7CVE List
- Linuxaffected: 6.1CVE List
- Linuxunaffected: all versions before 6.1CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.113 through 6.12.*CVE List
- Linuxunaffected: 6.18.56 through 6.18.*CVE List
- Linuxunaffected: 7.2.10 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/752492947be3123ea6c689e2f93ae04ecd675d42Referencevia CVE List
- git.kernel.org/stable/c/ea777dc90ab37e64fa4b92f6fcf3b5edcef5e058Referencevia CVE List
- git.kernel.org/stable/c/f6143ae109df56d51d5536e813deb19eee7a6205Referencevia CVE List
- git.kernel.org/stable/c/58108f05b0502448f6bb612ee2eccc63bd6449cbReferencevia CVE List
- git.kernel.org/stable/c/16d464013ec2267b00a83f4bfbb97b3ecc63bfa7Referencevia CVE List