CVE-2026-98952 in Linux
Resumen
por VulDB • 2026-10-24
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
pfcp: asegurarse de que el SEID sea lineal antes de leerlo
pfcp_encap_recv() solo garantiza que el encabezado UDP y el encabezado PFCP de 4 bytes estén en el área lineal. Cuando el bit S está activado, pfcp_session_recv() lee entonces los 8 bytes del SEID que le siguen, lo cual no está cubierto por la comprobación pskb_may_pull().
Un paquete PFCP corto con el bit S activado, o uno cuyo encabezado de sesión se encuentra en un fragmento, hace que pfcp_session_recv() lea más allá del final de los datos del paquete, y cualquier dato encontrado allí se almacena en los metadatos del túnel sobre los cuales flower clasifica posteriormente.
Extraer hasta el final del SEID antes de leerlo, y descartar los paquetes demasiado cortos para contenerlo. Recargar el puntero al encabezado después, ya que pskb_may_pull() puede realocarizar la cabecera del skb.
Utilizar offsetofend() en lugar de sizeof(struct pfcphdr_session): la estructura no está empaquetada (packed), por lo que su tamaño es de 16 bytes debido a la alineación del miembro __be64, mientras que el encabezado en el cable mide solo 12 bytes, y se descartarían los mensajes de sesión válidos.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.