Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-98952

Опубликовано: 23 окт. 2026
Источник: redhat
CVSS3: 7.5
EPSS Низкий

Описание

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.

A flaw was found in the Linux kernel's Packet Forwarding Control Protocol (PFCP) component. A remote attacker can exploit this vulnerability by sending a truncated or fragmented PFCP packet with the session flag enabled, causing the kernel to read memory beyond the end of the packet buffer. This out-of-bounds read can lead to a Denial of Service (DoS) via a system crash or cause incorrect network traffic handling due to corrupted tunnel metadata.

Отчет

Red Hat has evaluated this vulnerability as an Important severity flaw because an unauthenticated remote attacker could transmit malformed network packets over UDP to trigger an out-of-bounds read in the kernel, potentially causing a system crash or corrupting tunnel classification metadata. However, this flaw resides in the Packet Forwarding Control Protocol subsystem introduced in newer upstream kernels, which is not shipped in supported Red Hat Enterprise Linux kernels. Consequently, supported Red Hat Enterprise Linux releases are not affected by this vulnerability.

Меры по смягчению последствий

--- CME Mitigation Guidance (2026-11-02) --- Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure. The highest-value action is to ensure packet data is linearized up to the end of the SEID using pskb_may_pull before reading session headers in pfcp_session_recv: upgrade to the fixed release, which pull packet data up to the end of the SEID using pskb_may_pull, drop packets too short to contain it, and reload the header pointer, closing all 2 injection vectors (truncated PFCP packets with the session flag set, fragmented PFCP packets with session headers crossing packet buffer fragments). Until patched, this is only a concern on Linux systems configured to receive and process PFCP UDP packets — Supported Red Hat Enterprise Linux releases and non-Linux platforms are unaffected — so Restrict network routing and filter UDP traffic to block untrusted access to the target PFCP listener until patched. As a compensating measure, Enable runtime memory error detection such as KASAN or HWASan to detect out-of-bounds reads beyond the linear skb data buffer during PFCP session packet parsing. These controls limit blast radius and contain exploitation, but they do not fix the underlying out-of-bounds read defect — apply the upstream patch to fully remediate. Highest-impact CME: CME-1005 Runtime Memory Error Detection (KASAN/HWASan) (medium)

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelNot affected
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 8kernelNot affected
Red Hat Enterprise Linux 8kernel-rtNot affected
Red Hat Enterprise Linux 9kernelNot affected
Red Hat Enterprise Linux 9kernel-rtNot affected
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-8Not affected
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-9Not affected

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-125
https://bugzilla.redhat.com/show_bug.cgi?id=2559647kernel: pfcp: make sure the SEID is linear before reading it

EPSS

Процентиль: 32%
0.00377
Низкий

7.5 High

CVSS3

Связанные уязвимости

CVSS3: 7.3
ubuntu
17 дней назад

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 w...

CVSS3: 7.3
nvd
17 дней назад

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

CVSS3: 7.3
debian
17 дней назад

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

CVSS3: 7.3
github
17 дней назад

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 ...

EPSS

Процентиль: 32%
0.00377
Низкий

7.5 High

CVSS3