CVE-2026-68398: ppp: defer channel free to an RCU grace period to fix pppol2tp RX UAF

Published Aug 10, 2026
·
Updated

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

ppp: defer channel free to an RCU grace period to fix pppol2tp RX UAF

pppol2tprecv() runs in the L2TP UDP-encap softirq RX path:

l2tpudpencaprecv() -> l2tprecvcommon() -> pppol2tprecv() -> pppinput(&po->chan)

It runs under rcureadlock() holding only an l2tpsession reference and takes NO reference on the internal PPP channel (struct channel, chan->ppp) that pppinput() dereferences.

The pppox socket is SOCKRCUFREE, so 'po' and the embedded pppchannel are RCU-safe. But the internal struct channel is a separate allocation that pppreleasechannel() frees with a plain kfree():

close(data socket) -> pppol2tprelease() -> pppoxunbindsock() -> pppunregisterchannel() -> pppreleasechannel() -> kfree(pch)

For a channel that is bound (PPPIOCGCHAN) but not attached to a ppp unit (no PPPIOCCONNECT, pch->ppp == NULL) and not bridged, teardown skips both pppdisconnectchannel()'s synchronizenet() and pppunbridgechannels()'s synchronizercu(), so the kfree() has no grace period. rcureadlock() in pppol2tprecv() does not protect against a plain kfree(), so an in-flight pppinput() on one CPU can dereference the channel just freed by close() on another CPU.

The bug is reachable by an unprivileged user.

Defer the channel free to an RCU callback via callrcu() so the grace period fences any in-flight pppinput(). The disconnect and unbridge teardown paths already fence with synchronizenet()/synchronizercu(); callrcu() does the same here without stalling the close() path.

Affected Software

1 affected component
Linux Linux kernel

Event History

Aug 10, 2026
CVE Published
via MITRE·12:04 PM
Data Sourced
via MITRE·12:04 PM
Description
Data Sourced
via NVD·01:20 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-68398?

CVE-2026-68398 has a risk rating of 62, indicating a moderate level of vulnerability severity.

2

How do I fix CVE-2026-68398?

To fix CVE-2026-68398, ensure you upgrade to the latest version of the Linux kernel where the vulnerability has been resolved.

3

What systems are affected by CVE-2026-68398?

CVE-2026-68398 affects the Linux kernel, particularly services using PPP over L2TP.

4

What exploits are associated with CVE-2026-68398?

Exploiting CVE-2026-68398 could allow for a use-after-free condition affecting system stability or security.

5

What mitigation strategies are available for CVE-2026-68398?

Mitigation strategies for CVE-2026-68398 include applying relevant kernel patches and updating to a secured kernel version.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203