Description · from the CVE record
In the Linux kernel, the following vulnerability has been resolved:
ip6_tunnel: clear skb2->cb[] in ip4ip6_err()
Oskar Kjos reported the following problem.
ip4ip6_err() calls icmp_send() on a cloned skb whose cb[] was written
by the IPv6 receive path as struct inet6_skb_parm. icmp_send() passes
IPCB(skb2) to __ip_options_echo(), which interprets that cb[] region
as struct inet_skb_parm (IPv4). The layouts differ: inet6_skb_parm.nhoff
at offset 14 overlaps inet_skb_parm.opt.rr, producing a non-zero rr
value. __ip_options_echo() then reads optlen from attacker-controlled
packet data at sptr[rr+1] and copies that many bytes into dopt->__data,
a fixed 40-byte stack buffer (IP_OPTIONS_DATA_FIXED_SIZE).
To fix this we clear skb2->cb[], as suggested by Oskar Kjos.
Also add minimal IPv4 header validation (version == 4, ihl >= 5).
Affected
ProductAffectedFixed inSource
Linuxc4d3efafcc933fd2ffd169d7dc4f980393a13796 – < ea9f65b27c8404e164848ebff1443310fd187629ea9f65b27c8404e164848ebff1443310fd187629CNA
Linuxc4d3efafcc933fd2ffd169d7dc4f980393a13796 – < d6621f60192fe10c047a4487be42a6f4c150707fd6621f60192fe10c047a4487be42a6f4c150707fCNA
Linuxc4d3efafcc933fd2ffd169d7dc4f980393a13796 – < 2cc6e3b0fe0f0242d1f530a93a4924f48ab85ba52cc6e3b0fe0f0242d1f530a93a4924f48ab85ba5CNA
Linuxc4d3efafcc933fd2ffd169d7dc4f980393a13796 – < a0c4ce9900a108eaf55d0f3b399cb55999647d39a0c4ce9900a108eaf55d0f3b399cb55999647d39CNA
Linuxc4d3efafcc933fd2ffd169d7dc4f980393a13796 – < 1063515ce15ff31065c4e7f8265f4c2fd3c548761063515ce15ff31065c4e7f8265f4c2fd3c54876CNA
Linuxc4d3efafcc933fd2ffd169d7dc4f980393a13796 – < 590f622669b97eaf7b57a1de7b0a6e68c5d8b2c3590f622669b97eaf7b57a1de7b0a6e68c5d8b2c3CNA
Linuxc4d3efafcc933fd2ffd169d7dc4f980393a13796 – < 4a622658f384b03560834cbe8ffcfe69a278f7c84a622658f384b03560834cbe8ffcfe69a278f7c8CNA
Linuxc4d3efafcc933fd2ffd169d7dc4f980393a13796 – < 2edfa31769a4add828a7e604b21cb82aaaa059252edfa31769a4add828a7e604b21cb82aaaa05925CNA
Linux2.6.22–CNA
NVIDIA for RHEL 10see advisory0:6.12.0-212.10.el10nvredhat-SADP
Red Hat Enterprise Linux 10see advisory0:6.12.0-211.22.1.el10_2redhat-SADP
Red Hat Enterprise Linux 10see advisory–redhat-SADP