PT-2026-121924
CVE-2026-98952
·
Published
2026-10-23
·
Updated
2026-10-23
Description by
Score
N/A
Not availableNo severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
pfcp: make sure the SEID is linear before reading it
pfcp encap recv() only makes sure that the UDP header and the 4 byte
PFCP header are in the linear area. When the S flag is set,
pfcp session recv() then reads the 8 byte SEID that follows, which is
not covered by the pskb may pull() check.
A short PFCP packet with the S flag set, or one whose session header
lies in a fragment, therefore makes pfcp session recv() 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 pskb may pull() may reallocate the skb head.
Use offsetofend() rather than sizeof(struct pfcphdr session): 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.
Found an issue in the description? Have something to add? Feel free to write us 👾