Description
In the Linux kernel, the following vulnerability has been resolved: xfrm: iptfs: validate inner IPv4 header length in IPTFS payload Add validation of the inner IPv4 packet tot_len and ihl fields parsed from decrypted IPTFS payloads in __input_process_payload(). A crafted ESP packet containing an inner IPv4 header with tot_len=0 causes an infinite loop: iplen=0 leads to capturelen=min(0, remaining)=0, so the data offset never advances and the while(data < tail) loop never terminates, spinning forever in softirq context. Reject inner IPv4 packets where tot_len < ihl*4 or ihl*4 < sizeof(struct iphdr), which catches both the tot_len=0 case and malformed ihl values. The normal IP stack performs this validation in ip_rcv_core(), but IPTFS extracts and processes inner packets before they reach that layer.
Product status
6c82d2433671819a550227bf65bfb6043e3d3305 (git) before de6d8e8ce5187f7402c9859b443355e7120c5f09
6c82d2433671819a550227bf65bfb6043e3d3305 (git) before 3db7d4f777a00164582061ccaa99569cd85011a3
6c82d2433671819a550227bf65bfb6043e3d3305 (git) before 0d10393d5eac33cbd92f7a41fddca12c41d3cb7e
6.14
Any version before 6.14
6.18.21 (semver)
6.19.11 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/de6d8e8ce5187f7402c9859b443355e7120c5f09
git.kernel.org/...c/3db7d4f777a00164582061ccaa99569cd85011a3
git.kernel.org/...c/0d10393d5eac33cbd92f7a41fddca12c41d3cb7e