Description
In the Linux kernel, the following vulnerability has been resolved:

amt: re-read skb header pointers after every pull

Several AMT receive and transmit paths cache a pointer into the skb head
(ip_hdr(), ipv6_hdr(), eth_hdr() or the AMT message header) and then call
a helper that can reallocate that head before the cached pointer is used
again. pskb_may_pull(), ip_mc_may_pull(), ipv6_mc_may_pull(),
iptunnel_pull_header(), ip_mc_check_igmp() and ipv6_mc_check_mld() can all
free the old head and move the data, so a pointer taken before the call
dangles afterwards and the later access is a use-after-free of the freed
head.

The affected sites are:

amt_rcv() caches ip_hdr() before amt_parse_type() pulls, then reads
iph->saddr.

amt_dev_xmit() caches ip_hdr()/ipv6_hdr() before ip_mc_check_igmp()/
ipv6_mc_check_mld() and pskb_may_pull(), then reads the group address.

amt_multicast_data_handler() caches eth_hdr() before pskb_may_pull(),
then writes the L2 header.

amt_membership_query_handler() caches the AMT header, the outer and
inner eth_hdr() and ip_hdr() before iptunnel_pull_header() and several
pulls, then reads and writes them.

amt_igmpv3_report_handler() and amt_mldv2_report_handler() cache
ip_hdr()/ipv6_hdr() and the current group record and read the record
count from the report header inside the record loop, across the
*_mc_may_pull() calls.

amt_update_handler() caches ip_hdr() and the AMT membership-update
header before pskb_may_pull(), iptunnel_pull_header(),
ip_mc_check_igmp() and the report handler, then reads iph->daddr and
amtmu->nonce / amtmu->response_mac.

Fix each site by either snapshotting the scalar that is used after the
pull before the first pull runs, or re-deriving the header pointer from
the skb after the last pull that can move the head. Values that are
stable across the pull (source and group address, the response MAC and
nonce, the record count, the outer source MAC) are snapshotted; pointers
that are written through or read repeatedly are re-derived.
Published: 2026-08-10
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel’s AMT subsystem caches pointer references to packet headers before calling helper functions that may reallocate the socket buffer head, causing the cached pointers to become invalid. The root weakness is the use of stale pointers after a pull operation, a classic instance of CWE‑825, which results in a use‑after‑free and potential kernel‑mode memory corruption. If an attacker can craft AMT packets that exploit these dangling references, they could trigger arbitrary code execution in kernel space.

Affected Systems

All Linux kernel distributions that compile the AMT module (amt, amt_rcv, amt_dev_xmit, amt_multicast_data_handler, amt_membership_query_handler, amt_igmpv3_report_handler, amt_mldv2_report_handler, amt_update_handler) are affected. No specific kernel release series is listed, so any stock kernel build without the upstream fix is vulnerable.

Risk and Exploitability

The EPSS score of <1% indicates a very low probability of exploitation. The CVSS score of 9.8 indicates critical severity. The vulnerability is not listed in CISA KEV and no public exploits are documented. Exploitation requires network access to send crafted AMT packets over the protocols handled by the AMT module. The impact can range from memory corruption to privilege escalation via kernel‑mode code execution if the attacker controls packet contents.

Generated by OpenCVE AI on August 14, 2026 at 00:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply an updated kernel that contains the upstream patch for the AMT module.
  • If a kernel upgrade is not immediately possible, disable the AMT module or configure the kernel to hide it from the network stack, preventing external packets from reaching the vulnerable code paths.
  • After updating or disabling the module, reboot the system to ensure the new kernel image is active and the AMT subsystem is no longer exposed to the use‑after‑free condition.

Generated by OpenCVE AI on August 14, 2026 at 00:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Wed, 19 Aug 2026 16:45:00 +0000


Thu, 13 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
Metrics 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'}


Thu, 13 Aug 2026 05:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 12 Aug 2026 00:15:00 +0000


Mon, 10 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: amt: re-read skb header pointers after every pull Several AMT receive and transmit paths cache a pointer into the skb head (ip_hdr(), ipv6_hdr(), eth_hdr() or the AMT message header) and then call a helper that can reallocate that head before the cached pointer is used again. pskb_may_pull(), ip_mc_may_pull(), ipv6_mc_may_pull(), iptunnel_pull_header(), ip_mc_check_igmp() and ipv6_mc_check_mld() can all free the old head and move the data, so a pointer taken before the call dangles afterwards and the later access is a use-after-free of the freed head. The affected sites are: amt_rcv() caches ip_hdr() before amt_parse_type() pulls, then reads iph->saddr. amt_dev_xmit() caches ip_hdr()/ipv6_hdr() before ip_mc_check_igmp()/ ipv6_mc_check_mld() and pskb_may_pull(), then reads the group address. amt_multicast_data_handler() caches eth_hdr() before pskb_may_pull(), then writes the L2 header. amt_membership_query_handler() caches the AMT header, the outer and inner eth_hdr() and ip_hdr() before iptunnel_pull_header() and several pulls, then reads and writes them. amt_igmpv3_report_handler() and amt_mldv2_report_handler() cache ip_hdr()/ipv6_hdr() and the current group record and read the record count from the report header inside the record loop, across the *_mc_may_pull() calls. amt_update_handler() caches ip_hdr() and the AMT membership-update header before pskb_may_pull(), iptunnel_pull_header(), ip_mc_check_igmp() and the report handler, then reads iph->daddr and amtmu->nonce / amtmu->response_mac. Fix each site by either snapshotting the scalar that is used after the pull before the first pull runs, or re-deriving the header pointer from the skb after the last pull that can move the head. Values that are stable across the pull (source and group address, the response MAC and nonce, the record count, the outer source MAC) are snapshotted; pointers that are written through or read repeatedly are re-derived.
Title amt: re-read skb header pointers after every pull
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-19T16:32:55.916Z

Reserved: 2026-07-30T09:28:09.381Z

Link: CVE-2026-68302

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:19.810

Modified: 2026-08-19T17:20:41.470

Link: CVE-2026-68302

cve-icon Redhat

Severity :

Publid Date: 2026-08-10T00:00:00Z

Links: CVE-2026-68302 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T00:15:04Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference