CVE-2026-68398
CVE CVE-2026-68398EUVD EUVD-2026-55584Published 2026-08-10T12:04:17.000Z
What the advisory describes
In the Linux kernel, the following vulnerability has been resolved: ppp: defer channel free to an RCU grace period to fix pppol2tp RX UAF pppol2tp_recv() runs in the L2TP UDP-encap softirq RX path: l2tp_udp_encap_recv() -> l2tp_recv_common() -> pppol2tp_recv() -> ppp_input(&po->chan) It runs under rcu_read_lock() holding only an l2tp_session reference and takes NO reference on the internal PPP channel (struct channel, chan->ppp) that ppp_input() dereferences. The pppox socket is SOCK_RCU_FREE, so 'po' and the embedded ppp_channel are RCU-safe. But the internal struct channel is a separate allocation that ppp_release_channel() frees with a plain kfree(): close(data socket) -> pppol2tp_release() -> pppox_unbind_sock() -> ppp_unregister_channel() -> ppp_release_channel() -> 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 ppp_disconnect_channel()'s synchronize_net() and ppp_unbridge_channels()'s synchronize_rcu(), so the kfree() has no grace period. rcu_read_lock() in pppol2tp_recv() does not protect against a plain kfree(), so an in-flight ppp_input() 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 call_rcu() so the grace period fences any in-flight ppp_input(). The disconnect and unbridge teardown paths already fence with synchronize_net()/synchronize_rcu(); call_rcu() does the same here without stalling the close() path.
Source: EUVD (ENISA), in the words of the advisory.
Products the advisory names
These come from the advisory itself, not from any check we performed.
- Linux — Linux 5803ecd7f6ac6f747582e775caa62ac9d0489261; patch: 6.12.101; ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 <4bb84e964ff0fe0a171c965362de72f9820dbce9; 4.14.182 <4.15; 9bcc0508576b2d50efd958f2ea1c5906749c2c89; 4.4.225 <4.5; patch: 6.18.42; 3.2.99 <3.3; ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 <c9574b8a8edeb4edd3ac6472c27ef7184bdb2baa; patch: 6.6.148; d36e5ba7bbed5d7bd26e8609ffed503c2def401b; 3.16.54 <3.17; 4.9.225 <4.10; ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 <3ab32218d7182705dae5c86f13925f458072da2c; c2984681fe15cfb803a9132aaaf1140ab20a72c1; ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 <ec4215683e47424c9c4762fd3c60f552a3119142; ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 <06213c85d8c0994f786c093b8b2a517987943ca6; patch: 7.1.6; 4.15; 26f8819ddd10141ebe7bbce700fbab36bfa5f478; patch: 0; patch: 7.2-rc4
The versions shown are the advisory's own. Patchlage compares no version numbers and derives no judgement from them — which version is installed is something a person has to look up.
Carried in the product catalogue
An estate covering these products can be recorded in Patchlage. An advisory about them appears in the next morning's situation report.
- Linux — Linux
Does this concern one of your customers?
This page cannot answer that — it does not know your estate. Whoever has recorded their environments gets the answer the morning after publication, together with a paragraph they can forward to the customer unedited.
Try it for 28 daysPatchlage reports hits and suspected hits. About everything else this system says nothing — neither this page nor the situation report ever claims that an estate is safe.