xfrm: esp: avoid in-place decrypt on shared skb frags
Corrige ahora. Ella explotación observada por VulnCheck y tiene exploit funcional público.
Declaraciones oficiales de los fabricantes en formato CSAF/VEX: si su producto está afectado, ya corregido o descartado — y por qué. Es afirmación del fabricante, no juicio de Vexday.
Una vulnerabilidad en el kernel de Linux permite que datos cifrados en ESP (Protocolo de Encapsulación de Seguridad) se descifren directamente en páginas de memoria compartida al usar UDP con MSG_SPLICE_PAGES, exponiendo potencialmente el contenido de los paquetes.
La ruta de entrada ESP en el kernel Linux no marca fragmentos skb compartidos con SKBFL_SHARED_FRAG cuando datagramas UDP hacen splice de páginas desde pipes, permitiendo descifrado in-place sobre memoria no privada. La ruta rápida sin COW asume propiedad exclusiva de skbs no-clonados, pero las páginas compartidas de pipes violan este supuesto. La corrección requiere establecer la bandera de fragmento compartido para operaciones UDP splice y recurrir a skb_cow_data() en la entrada ESP cuando la bandera está presente.