CVE-2026-98952: pfcp: make sure the SEID is linear before reading it

Published Oct 23, 2026
·
Updated

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

pfcp: make sure the SEID is linear before reading it

pfcpencaprecv() only makes sure that the UDP header and the 4 byte PFCP header are in the linear area. When the S flag is set, pfcpsessionrecv() then reads the 8 byte SEID that follows, which is not covered by the pskbmaypull() check.

A short PFCP packet with the S flag set, or one whose session header lies in a fragment, therefore makes pfcpsessionrecv() read beyond the end of the packet data, and whatever it finds there is stored in the tunnel metadata that flower later classifies on.

Pull up to the end of the SEID before reading it, and drop packets that are too short to contain it. Reload the header pointer afterwards since pskbmaypull() may reallocate the skb head.

Use offsetofend() rather than sizeof(struct pfcphdrsession): the structure is not packed, so its size is 16 bytes because of the alignment of the be64 member, while the header on the wire is only 12 bytes, and valid session messages would be dropped.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    In PFCP receive handling, ensure the 8-byte SEID is linear before reading it by pulling the skb through the end of the SEID, check packet length using offsetofend() rather than sizeof(struct pfcphdr_session), drop packets too short to contain the SEID, and reload the header pointer afterward because pskb_may_pull() may reallocate the skb head.

Event History

Oct 23, 2026
CVE Published
via MITRE·12:19 PM
Data Sourced
via MITRE·12:19 PM
Description

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