ip6_tunnel: clear skb2->cb[] in ip4ip6_err()
28Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 9.8epss 0.6%
exploitation probability
0.6%top 56% of all CVEs
observed exploitation
nono source reports it
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).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
Linux · LinuxReferences
https://access.redhat.com/errata/RHSA-2026:22900https://access.redhat.com/errata/RHSA-2026:22940https://access.redhat.com/errata/RHSA-2026:22964https://access.redhat.com/errata/RHSA-2026:23224https://access.redhat.com/errata/RHSA-2026:23237https://access.redhat.com/errata/RHSA-2026:24343https://access.redhat.com/errata/RHSA-2026:25120https://access.redhat.com/errata/RHSA-2026:25121https://access.redhat.com/errata/RHSA-2026:25181https://access.redhat.com/errata/RHSA-2026:25186https://access.redhat.com/errata/RHSA-2026:25191https://access.redhat.com/errata/RHSA-2026:25193