CVE-2026-53228

ipv6: sit: reload inner IPv6 header after GSO offloads

Published Jun 25, 2026 CVSS 3.1 · 9.8 Critical EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

ipv6: sit: reload inner IPv6 header after GSO offloads

ipip6_tunnel_xmit() caches the inner IPv6 header pointer at function
entry and continues using it after iptunnel_handle_offloads().

For GSO skbs, iptunnel_handle_offloads() calls skb_header_unclone().
When the skb header is cloned, skb_header_unclone() can call
pskb_expand_head(), which may move the skb head. The pskb_expand_head()
contract requires pointers into the skb header to be reloaded after the
call.

If the later skb_realloc_headroom() branch is not taken, SIT uses the
stale iph6 pointer to read the inner hop limit and DS field. That can
read from a freed skb head after the old head's remaining clone is
released.

Reload iph6 after the offload helper succeeds and before subsequent
reads from the inner IPv6 header. Keep the existing reload after
skb_realloc_headroom(), since that branch can also replace the skb.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4664-1 linux security update
Debian DLA Debian DLA DLA-4665-1 linux security update
Debian DLA Debian DLA DLA-4671-1 linux-6.1 security update
Ubuntu USN Ubuntu USN USN-8629-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8630-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8631-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8633-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8635-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8636-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8630-2 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8631-2 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8637-1 Linux kernel (OEM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8631-3 Linux kernel (NVIDIA Tegra IGX) vulnerabilities
Ubuntu USN Ubuntu USN USN-8633-2 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8629-2 Linux kernel (AWS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8631-4 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8645-1 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8629-3 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-8630-3 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8636-2 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8656-1 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-8660-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8661-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8630-4 Linux kernel (AWS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8663-1 Linux kernel (NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-8664-1 Linux kernel (NVIDIA BaseOS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8666-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8662-2 Linux kernel (FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8667-1 Linux kernel (KVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8669-1 Linux kernel (NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-8661-2 Linux kernel (Low Latency) vulnerabilities
Ubuntu USN Ubuntu USN USN-8630-5 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-8666-2 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8661-3 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8666-3 Linux kernel (GCP FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8661-4 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8715-1 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-1 Linux kernel (GCP) vulnerabilities
Ubuntu USN Ubuntu USN USN-8715-2 Linux kernel (AWS FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8661-5 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-2 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-3 Linux kernel (Oracle) vulnerabilities
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Weaknesses CWE-416
Type Values Removed Values Added
Weaknesses CWE-590
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate

Type Values Removed Values Added
Weaknesses CWE-590
Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ipv6: sit: reload inner IPv6 header after GSO offloads ipip6_tunnel_xmit() caches the inner IPv6 header pointer at function entry and continues using it after iptunnel_handle_offloads(). For GSO skbs, iptunnel_handle_offloads() calls skb_header_unclone(). When the skb header is cloned, skb_header_unclone() can call pskb_expand_head(), which may move the skb head. The pskb_expand_head() contract requires pointers into the skb header to be reloaded after the call. If the later skb_realloc_headroom() branch is not taken, SIT uses the stale iph6 pointer to read the inner hop limit and DS field. That can read from a freed skb head after the old head's remaining clone is released. Reload iph6 after the offload helper succeeds and before subsequent reads from the inner IPv6 header. Keep the existing reload after skb_realloc_headroom(), since that branch can also replace the skb.
Title ipv6: sit: reload inner IPv6 header after GSO offloads
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Oct 19, 2026, 7:57 PM
Reserved
Jun 9, 2026, 7:44 AM
Status
Modified
Published
Jun 25, 2026, 9:16 AM
Modified
Oct 19, 2026, 8:19 PM
Severity
Moderate
Public date
Jun 25, 2026, 12:00 AM