Description
In the Linux kernel, the following vulnerability has been resolved: ipvs: clear IPv4 options after rebasing tunnel ICMP errors ip_vs_in_icmp() rebases an skb from the outer ICMP packet to the quoted original request before passing it to icmp_send(). However, IPCB(skb)->opt still describes the outer IPv4 header. A timestamp option in the outer header can therefore leave an offset that points into the quoted transport header after the rebase. __ip_options_echo() treats a byte at that stale location as the option length and copies it into the fixed-size option storage on the __icmp_send() stack, causing a stack out-of-bounds write. Clear the stale option metadata after resetting the network header. Keep the remaining control block fields, including the ingress interface used by the ICMP response path.
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
f2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e to < 79ffa99202c944467e28b13b513bf2998732edffaffectedf2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e to < c9413b50204738fbc429bb86bf01353c393a6c28affectedf2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e to < 37c61b3745129cbd682c557b51345828120972e5affectedf2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e to < ed246dd85ebf27c1f6b7897834d40786c0ca3006affectedf2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e to < 6f46fc460e9316062bdcdf89199eb5d7a33da33baffectedf2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e to < 75eec935444db4af2123e0491936f6e273d7ea00affectedf2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e to < 384b4dae14277d369221d187e9b3af56c79d2e50affectedf2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e to < e0ba936287dfe9783426aac27e5fd76fe35b38c9affected
Linux Linux
Default version status: affected
3.7affected0 to < 3.7unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.152 to ≤ 6.6.*unaffected6.12.104 to ≤ 6.12.*unaffected6.18.45 to ≤ 6.18.*unaffected7.1.9 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/79ffa99202c944467e28b13b513bf2998732edff ↗
- https://git.kernel.org/stable/c/c9413b50204738fbc429bb86bf01353c393a6c28 ↗
- https://git.kernel.org/stable/c/37c61b3745129cbd682c557b51345828120972e5 ↗
- https://git.kernel.org/stable/c/ed246dd85ebf27c1f6b7897834d40786c0ca3006 ↗
- https://git.kernel.org/stable/c/6f46fc460e9316062bdcdf89199eb5d7a33da33b ↗
- https://git.kernel.org/stable/c/75eec935444db4af2123e0491936f6e273d7ea00 ↗
- https://git.kernel.org/stable/c/384b4dae14277d369221d187e9b3af56c79d2e50 ↗
- https://git.kernel.org/stable/c/e0ba936287dfe9783426aac27e5fd76fe35b38c9 ↗