CVE-2026-98952 in Linux
Zusammenfassung
von VulDB • 24.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
pfcp: Sicherstellen, dass die SEID linear ist, bevor sie gelesen wird
pfcp_encap_recv() stellt nur sicher, dass der UDP-Header und der 4 Byte lange PFCP-Header im linearen Bereich liegen. Wenn das S-Bit gesetzt ist, liest pfcp_session_recv() dann die folgenden 8 Bytes der SEID, was nicht durch die pskb_may_pull()-Prüfung abgedeckt wird.
Ein kurzer PFCP-Paket mit gesetztem S-Bit oder eines, dessen Sitzungsheader in einem Fragment liegt, führt daher dazu, dass pfcp_session_recv() über das Ende der Paketdaten hinausliest; und alles, was dort gefunden wird, wird im Tunnel-Metadaten gespeichert, auf die flower später klassifiziert.
Ziehen Sie bis zum Ende der SEID hoch, bevor Sie sie lesen, und verwerfen Sie Pakete, die zu kurz sind, um diese zu enthalten. Laden Sie den Header-Zeiger anschließend neu, da pskb_may_pull() das skb-Kopf-Element möglicherweise neu allozieren kann.
Verwenden Sie offsetofend() anstelle von sizeof(struct pfcphdr_session): Die Struktur ist nicht gepackt, daher beträgt ihre Größe 16 Bytes aufgrund der Ausrichtung des __be64-Mitglieds, während der Header im Netzwerk nur 12 Byte groß ist und gültige Sitzungsnachrichten verworfen würden.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.