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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 to < ce7b41f0e4b5db0580d0a2059a0c9e672b461b5eaffected0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 to < 752492947be3123ea6c689e2f93ae04ecd675d42affected0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 to < ea777dc90ab37e64fa4b92f6fcf3b5edcef5e058affected0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 to < f6143ae109df56d51d5536e813deb19eee7a6205affected0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 to < 58108f05b0502448f6bb612ee2eccc63bd6449cbaffected0fabd2aa199faeb8754aee94658f2c48ccb2c8c3 to < 16d464013ec2267b00a83f4bfbb97b3ecc63bfa7affected
Linux Linux
Default version status: affected
6.1affected0 to < 6.1unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.56 to ≤ 6.18.*unaffected7.2.10 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/ce7b41f0e4b5db0580d0a2059a0c9e672b461b5e ↗
- https://git.kernel.org/stable/c/752492947be3123ea6c689e2f93ae04ecd675d42 ↗
- https://git.kernel.org/stable/c/ea777dc90ab37e64fa4b92f6fcf3b5edcef5e058 ↗
- https://git.kernel.org/stable/c/f6143ae109df56d51d5536e813deb19eee7a6205 ↗
- https://git.kernel.org/stable/c/58108f05b0502448f6bb612ee2eccc63bd6449cb ↗
- https://git.kernel.org/stable/c/16d464013ec2267b00a83f4bfbb97b3ecc63bfa7 ↗