{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53003","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-06-09T07:44:35.377Z","datePublished":"2026-06-24T16:29:15.268Z","dateUpdated":"2026-08-05T12:32:33.280Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:32:33.280Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\npppoe: drop PFC frames\n\nRFC 2516 Section 7 states that Protocol Field Compression (PFC) is NOT\nRECOMMENDED for PPPoE. In practice, pppd does not support negotiating\nPFC for PPPoE sessions, and the current PPPoE driver assumes an\nuncompressed (2-byte) protocol field. However, the generic PPP layer\nfunction ppp_input() is not aware of the negotiation result, and still\naccepts PFC frames.\n\nIf a peer with a broken implementation or an attacker sends a frame with\na compressed (1-byte) protocol field, the subsequent PPP payload is\nshifted by one byte. This causes the network header to be 4-byte\nmisaligned, which may trigger unaligned access exceptions on some\narchitectures.\n\nTo reduce the attack surface, drop PPPoE PFC frames. Introduce\nppp_skb_is_compressed_proto() helper function to be used in both\nppp_generic.c and pppoe.c to avoid open-coding."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - Crafted PPPoE session frames reach the vulnerable path through the kernel receive path for ETH_P_PPP_SES network packets. A malicious PPPoE peer or network attacker able to send matching session frames can trigger it remotely over the network interface.\nAC:L - The trigger is a single compressed PPP protocol field in an otherwise valid PPPoE session frame, with no race or attacker-uncontrolled timing. On strict-alignment architectures used in plausible PPPoE deployments, the resulting misalignment deterministically reaches fault-prone network-header parsing.\nPR:N - The attacker only needs to transmit crafted PPPoE frames to an existing session and does not need local privileges or authenticated access on the victim. Local CAP_NET_ADMIN may be needed to configure PPPoE, but that is not a privilege required by the packet sender.\nUI:N - No victim interaction is required once the target is running a PPPoE session. The malicious frame is processed asynchronously by the network receive path.\nS:U - The impact is within the kernel/network stack security authority of the vulnerable system. There is no VM, sandbox, or other separate security scope crossed.\nC:N - The bug shifts packet alignment and can cause unaligned access exceptions, but it does not expose kernel memory or provide an information disclosure primitive. The skb push writes within packet headroom and is not an arbitrary read condition.\nI:N - The issue does not provide attacker-controlled modification of kernel memory or data structures. Its demonstrated and intended impact is malformed alignment leading to faulting packet processing, not integrity compromise.\nA:H - Misaligned network headers can trigger unaligned access exceptions and kernel oops/panic on strict-alignment architectures. The crafted frame can be sent repeatedly, making system availability impact high."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ppp/ppp_generic.c","drivers/net/ppp/pppoe.c","include/linux/ppp_defs.h"],"versions":[{"version":"7fb1b8ca8fa1ee34ffc328f17f78da68c7cc04e6","lessThan":"cb3beef35ab5e0c1afca9fd7648c6ae499786377","status":"affected","versionType":"git"},{"version":"7fb1b8ca8fa1ee34ffc328f17f78da68c7cc04e6","lessThan":"ba758fdf1399f310b30098b6faa3fd043de47dd2","status":"affected","versionType":"git"},{"version":"7fb1b8ca8fa1ee34ffc328f17f78da68c7cc04e6","lessThan":"fcca1df05322bb04e344dd1178b54b76a08eb7c3","status":"affected","versionType":"git"},{"version":"7fb1b8ca8fa1ee34ffc328f17f78da68c7cc04e6","lessThan":"8a5e840babc5c0fbd10c73728a13192347771ec6","status":"affected","versionType":"git"},{"version":"7fb1b8ca8fa1ee34ffc328f17f78da68c7cc04e6","lessThan":"49e41b60ccd1bdbe9e218420f716dd5f9a2f9c71","status":"affected","versionType":"git"},{"version":"7fb1b8ca8fa1ee34ffc328f17f78da68c7cc04e6","lessThan":"0cab5d077dd1efd2bd1a47271acc35894f945b4f","status":"affected","versionType":"git"},{"version":"7fb1b8ca8fa1ee34ffc328f17f78da68c7cc04e6","lessThan":"2b5c3c040d020e3ab3b9a8887031202d96843b1e","status":"affected","versionType":"git"},{"version":"7fb1b8ca8fa1ee34ffc328f17f78da68c7cc04e6","lessThan":"cc1ff87bce1ccd38410ab10960f576dcd17db679","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ppp/ppp_generic.c","drivers/net/ppp/pppoe.c","include/linux/ppp_defs.h"],"versions":[{"version":"5.0","status":"affected"},{"version":"0","lessThan":"5.0","status":"unaffected","versionType":"semver"},{"version":"5.10.258","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.209","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.175","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.141","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.91","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.33","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.0.10","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"5.10.258"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"5.15.209"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.6.141"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.12.91"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.18.33"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"7.0.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/cb3beef35ab5e0c1afca9fd7648c6ae499786377"},{"url":"https://git.kernel.org/stable/c/ba758fdf1399f310b30098b6faa3fd043de47dd2"},{"url":"https://git.kernel.org/stable/c/fcca1df05322bb04e344dd1178b54b76a08eb7c3"},{"url":"https://git.kernel.org/stable/c/8a5e840babc5c0fbd10c73728a13192347771ec6"},{"url":"https://git.kernel.org/stable/c/49e41b60ccd1bdbe9e218420f716dd5f9a2f9c71"},{"url":"https://git.kernel.org/stable/c/0cab5d077dd1efd2bd1a47271acc35894f945b4f"},{"url":"https://git.kernel.org/stable/c/2b5c3c040d020e3ab3b9a8887031202d96843b1e"},{"url":"https://git.kernel.org/stable/c/cc1ff87bce1ccd38410ab10960f576dcd17db679"}],"title":"pppoe: drop PFC frames","x_generator":{"engine":"bippy-1.2.0"}}}}