Bug 2502361 (CVE-2026-64007) - CVE-2026-64007 kernel: netfilter: synproxy: refresh tcphdr after skb_ensure_writable
Summary: CVE-2026-64007 kernel: netfilter: synproxy: refresh tcphdr after skb_ensure_w...
Keywords:
Status: NEW
Alias: CVE-2026-64007
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-07-19 16:03 UTC by OSIDB Bzimport
Modified: 2026-10-12 16:30 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:57252 0 None None None 2026-08-20 05:13:23 UTC
Red Hat Product Errata RHSA-2026:64770 0 None None None 2026-09-08 01:49:39 UTC
Red Hat Product Errata RHSA-2026:66000 0 None None None 2026-09-09 14:12:31 UTC
Red Hat Product Errata RHSA-2026:77216 0 None None None 2026-10-07 02:49:18 UTC
Red Hat Product Errata RHSA-2026:77217 0 None None None 2026-10-07 03:39:06 UTC
Red Hat Product Errata RHSA-2026:77218 0 None None None 2026-10-07 06:27:37 UTC
Red Hat Product Errata RHSA-2026:77634 0 None None None 2026-10-07 15:42:25 UTC
Red Hat Product Errata RHSA-2026:81349 0 None None None 2026-10-12 16:30:55 UTC
Red Hat Product Errata RHSA-2026:81371 0 None None None 2026-10-12 16:01:20 UTC

Description OSIDB Bzimport 2026-07-19 16:03:58 UTC
In the Linux kernel, the following vulnerability has been resolved:

netfilter: synproxy: refresh tcphdr after skb_ensure_writable

synproxy_tstamp_adjust() rewrites the TCP timestamp option in place
and then patches the TCP checksum via inet_proto_csum_replace4() on
the caller-supplied tcphdr pointer.  Both ipv4_synproxy_hook() and
ipv6_synproxy_hook() obtain that pointer with skb_header_pointer()
before calling in, so it may either alias skb->head directly or
point at the caller's on-stack _tcph buffer.

Between obtaining the pointer and using it, the function calls
skb_ensure_writable(skb, optend), which on a cloned or non-linear
skb invokes pskb_expand_head() and frees the old skb->head.  After
that point the cached th is stale:

    caller (ipv[46]_synproxy_hook)
      th = skb_header_pointer(skb, ..., &_tcph)
      synproxy_tstamp_adjust(skb, protoff, th, ...)
        skb_ensure_writable(skb, optend)
          pskb_expand_head()        /* kfree(old skb->head) */
        ...
        inet_proto_csum_replace4(&th->check, ...)
                                    /* writes into freed head, or
                                       into the caller's stack copy
                                       leaving the on-wire checksum
                                       stale */

The option bytes are written through skb->data and are fine; only
the checksum update goes through th and so lands in the wrong
place.  The result is either a write into freed slab memory or a
packet leaving with a checksum that does not match its payload.

Fix by re-deriving th from skb->data + protoff immediately after
skb_ensure_writable() succeeds, so the subsequent checksum update
targets the linear, writable header.

Comment 6 errata-xmlrpc 2026-08-20 05:13:22 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:57252 https://access.redhat.com/errata/RHSA-2026:57252

Comment 7 errata-xmlrpc 2026-09-08 01:49:38 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:64770 https://access.redhat.com/errata/RHSA-2026:64770

Comment 8 errata-xmlrpc 2026-09-09 14:12:30 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:66000 https://access.redhat.com/errata/RHSA-2026:66000

Comment 9 Jon Orris 2026-10-07 02:49:18 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support
  Red Hat Enterprise Linux 8.6 Extended Update Support Long-Life Add-On

Via RHSA-2026:77216 https://access.redhat.com/errata/RHSA-2026:77216

Comment 10 Jon Orris 2026-10-07 03:39:05 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support
  Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On

Via RHSA-2026:77217 https://access.redhat.com/errata/RHSA-2026:77217

Comment 11 Jon Orris 2026-10-07 06:27:36 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9.4 Update Services for SAP Solutions

Via RHSA-2026:77218 https://access.redhat.com/errata/RHSA-2026:77218

Comment 12 Jon Orris 2026-10-07 15:42:24 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10.0 Extended Update Support

Via RHSA-2026:77634 https://access.redhat.com/errata/RHSA-2026:77634

Comment 13 Jon Orris 2026-10-12 16:01:20 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Extended Lifecycle Support

Via RHSA-2026:81371 https://access.redhat.com/errata/RHSA-2026:81371

Comment 14 Jon Orris 2026-10-12 16:30:54 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Extended Lifecycle Support

Via RHSA-2026:81349 https://access.redhat.com/errata/RHSA-2026:81349


Note You need to log in before you can comment on or make changes to this bug.