CVE-2026-68121

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < e6493a4d1ee17595766165fa446d45b7e0c318d0affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 7e9fbd7f96bcde63a7c798fe16b38cedee7a1501affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 6866abf59976d273164a6624234d96a967280223affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < bed4caecd723693f750e13adbb2c42ca1249a3fdaffected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < e9c238f6fe42fb1b4dba3a578277de32cb487937affected
LinuxLinux2.6.12affected
LinuxLinux0 < 2.6.12unaffected
LinuxLinux6.6.148 <= 6.6.*unaffected
LinuxLinux6.12.101 <= 6.12.*unaffected
LinuxLinux6.18.42 <= 6.18.*unaffected
LinuxLinux7.1.6 <= 7.1.*unaffected
LinuxLinux7.2-rc5 <= *unaffected

Weaknesses

References