CVE-2026-68121 in Linuxinfo

Summary

by MITRE • 08/10/2026

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

pppoe: reload header pointer after dev_hard_header()

pppoe_sendmsg() saves a pointer to the PPPoE header before calling dev_hard_header(). Device header callbacks are allowed to reallocate the skb head, invalidating pointers into it.

This can happen when a send is blocked in copy_from_user() while the first non-Ethernet port is added to an empty team device. The team's delegated GRE header callback then expands the skb head. PPPoE subsequently writes six bytes through the stale pointer into the freed head.

Reload the PPPoE header through the skb's network-header offset after device header creation. pskb_expand_head() updates that offset when it relocates the head.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 08/10/2026

The vulnerability in question affects the Linux kernel's PPPoE implementation and represents a classic use-after-free scenario that can lead to arbitrary code execution or system instability. This issue occurs within the pppoe_sendmsg() function where the kernel fails to account for potential memory reallocation during the device header creation process. The problem manifests when the PPPoE subsystem attempts to write data to a packet buffer that has been relocated in memory, creating a stale pointer condition that violates fundamental memory safety principles.

The technical flaw stems from the improper handling of packet buffer pointers during the PPPoE transmission process. When dev_hard_header() is called, device-specific header callbacks may need to expand the socket buffer head to accommodate additional protocol headers. This expansion operation, performed by pskb_expand_head(), relocates the entire packet buffer structure in memory while updating internal offsets. However, the PPPoE code does not refresh its pointer to the PPPoE header structure after this reallocation has occurred, leaving it pointing to an invalid memory location that may have already been freed or repurposed.

This vulnerability can be triggered under specific conditions involving team devices and network interface management. The scenario described involves a send operation that becomes blocked in copy_from_user() while processing the addition of the first non-Ethernet port to an empty team device. During this critical moment, the team device's delegated GRE header callback performs an skb head expansion operation that invalidates all existing pointers into the packet buffer. The subsequent PPPoE write operation attempts to access memory through the stale pointer, resulting in a memory corruption condition that can be exploited by malicious actors.

The operational impact of this vulnerability extends beyond simple memory corruption to potentially enable privilege escalation and system compromise. According to CWE-416, this represents a use-after-free error where memory is accessed after it has been freed, while ATT&CK technique T1068 covers privilege escalation through kernel exploits. The vulnerability affects the Linux kernel's network subsystem and can be exploited by attackers with local access or those capable of influencing network packet transmission through crafted network traffic. The timing of the exploit opportunity makes this particularly dangerous as it can occur during normal network operation when system resources are actively being managed.

Mitigation strategies for this vulnerability focus on ensuring proper pointer validation and memory management within the kernel's PPPoE implementation. The fix involves reloading the PPPoE header pointer through the skb's network-header offset after device header creation, which is automatically updated by pskb_expand_head() when it relocates the buffer head. This approach aligns with best practices for kernel memory management and follows the principle of refreshing pointers after any potential memory reallocation operations. Organizations should prioritize applying the relevant kernel security patches that implement this fix, as well as monitoring for any network-based exploitation attempts that might indicate active exploitation of this vulnerability in the wild.

Responsible

Linux

Reservation

07/30/2026

Disclosure

08/10/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!