CVE-2026-53228
ipv6: sit: reload inner IPv6 header after GSO offloads
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.
INFO
Published Date :
June 25, 2026, 9:16 a.m.
Last Modified :
July 2, 2026, 8:46 p.m.
Remotely Exploit :
Yes !
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | CRITICAL | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Update the Linux kernel to the latest version.
- Apply the specific patch for this vulnerability.
- Reload the iph6 pointer after offloads.
- Revalidate the cached header pointer.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-53228.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-53228 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-53228
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-53228 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-53228 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Jul. 02, 2026
Action Type Old Value New Value Added CWE NVD-CWE-noinfo Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.176 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.143 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.210 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.36 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.94 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 7.0.13 *cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc7:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 3.18 up to (excluding) 5.10.259 Added Reference Type kernel.org: https://git.kernel.org/stable/c/0bfa7bba1f41aaf5f0604dc712bb4701493e3aa0 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/1132e5edc2866c3530be17622153a597095f0e43 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/2fa49b2715e1bad12ce3b0fa64e234d9582c8193 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/59f80c919713250fe5d25a4d9aea4e49580fa1d4 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/9c67b44edb3598d234efae6e44649eb993c03da5 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/cb658c2f5f7977c2a1c77c9f239f4bc8196edb5c Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/f0e42f0c4337b1f220de1ddd63f47197c7dee4de Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/fddd41445a0537b093e6b3f6232c9933cad1e48b Types: Patch -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jun. 28, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jun. 25, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '14909664e4e192f4c6f6fcdccd9919af7cf783ab', 'lessThan': 'fddd41445a0537b093e6b3f6232c9933cad1e48b', 'versionType': 'git'}, {'status': 'affected', 'version': '14909664e4e192f4c6f6fcdccd9919af7cf783ab', 'lessThan': '1132e5edc2866c3530be17622153a597095f0e43', 'versionType': 'git'}, {'status': 'affected', 'version': '14909664e4e192f4c6f6fcdccd9919af7cf783ab', 'lessThan': '9c67b44edb3598d234efae6e44649eb993c03da5', 'versionType': 'git'}, {'status': 'affected', 'version': '14909664e4e192f4c6f6fcdccd9919af7cf783ab', 'lessThan': '0bfa7bba1f41aaf5f0604dc712bb4701493e3aa0', 'versionType': 'git'}, {'status': 'affected', 'version': '14909664e4e192f4c6f6fcdccd9919af7cf783ab', 'lessThan': '59f80c919713250fe5d25a4d9aea4e49580fa1d4', 'versionType': 'git'}, {'status': 'affected', 'version': '14909664e4e192f4c6f6fcdccd9919af7cf783ab', 'lessThan': '2fa49b2715e1bad12ce3b0fa64e234d9582c8193', 'versionType': 'git'}, {'status': 'affected', 'version': '14909664e4e192f4c6f6fcdccd9919af7cf783ab', 'lessThan': 'cb658c2f5f7977c2a1c77c9f239f4bc8196edb5c', 'versionType': 'git'}, {'status': 'affected', 'version': '14909664e4e192f4c6f6fcdccd9919af7cf783ab', 'lessThan': 'f0e42f0c4337b1f220de1ddd63f47197c7dee4de', 'versionType': 'git'}], 'programFiles': ['net/ipv6/sit.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '3.18'}, {'status': 'unaffected', 'version': '0', 'lessThan': '3.18', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.259', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.210', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.176', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.143', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.94', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.36', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.13', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/ipv6/sit.c'], 'defaultStatus': 'affected'}] 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. Added Reference https://git.kernel.org/stable/c/0bfa7bba1f41aaf5f0604dc712bb4701493e3aa0 Added Reference https://git.kernel.org/stable/c/1132e5edc2866c3530be17622153a597095f0e43 Added Reference https://git.kernel.org/stable/c/2fa49b2715e1bad12ce3b0fa64e234d9582c8193 Added Reference https://git.kernel.org/stable/c/59f80c919713250fe5d25a4d9aea4e49580fa1d4 Added Reference https://git.kernel.org/stable/c/9c67b44edb3598d234efae6e44649eb993c03da5 Added Reference https://git.kernel.org/stable/c/cb658c2f5f7977c2a1c77c9f239f4bc8196edb5c Added Reference https://git.kernel.org/stable/c/f0e42f0c4337b1f220de1ddd63f47197c7dee4de Added Reference https://git.kernel.org/stable/c/fddd41445a0537b093e6b3f6232c9933cad1e48b