
Aviso saneado para CVE-2025-51846 que afecta el manejo de WebSocket en CryptPad.
Gravedad: Alta (CVSS 7.5)
CWE: 400 – Consumo no controlado de recursos (Agotamiento de recursos),
CWE: CWE-770 – Asignación de recursos sin límites ni limitación
Estado: Corregido
Confirmado afectado: CryptPad 2025.3.1
Rango afectado en el borrador CSAF: >=2025.3.1, <2026.2.1
Nota sobre la versión corregida: El borrador del coordinador referencia actualmente la 2026.2.1. CryptPad indicó posteriormente que la 2026.2.2 es la versión de corrección realmente válida debido a un problema de versionado en la 2026.2.1. Los operadores deben confirmar la versión corregida final en el aviso publicado por CISA y en las notas de la versión de CryptPad.
image
La implementación de WebSocket de CryptPad aplicaba límites a las tramas individuales, pero no aplicaba de manera suficiente límites acumulativos a la cantidad de datos y al número de fragmentos procesados por conexión.
Según RFC 6455, un mensaje WebSocket puede dividirse en múltiples tramas. En las versiones afectadas, la repetición de tramas válidas o de mensajes fragmentados podía causar un consumo excesivo de recursos del lado del servidor.
Un atacante remoto no autenticado podía explotar este comportamiento para degradar o denegar el servicio a los usuarios legítimos. En las pruebas, esto resultó en un alto uso de CPU y memoria, una interfaz de CryptPad que no respondía, fallos al cargar documentos/sesiones y la terminación del servicio bajo cargas elevadas.
image
El problema se debe a una contabilidad acumulativa de recursos insuficiente en la ruta de procesamiento de WebSocket. Aunque las tramas individuales pueden estar sujetas a comprobaciones de tamaño, el servidor sigue procesando tramas o fragmentos válidos repetidos sin un límite acumulativo efectivo por conexión.
En pruebas de laboratorio, se utilizaron varios patrones de tráfico WebSocket de apariencia no maliciosa para validar el problema:
Estas pruebas demostraron que CryptPad seguía consumiendo recursos mientras procesaba tráfico que, individualmente, parecía válido. Bajo una carga de laboratorio más intensa, el servicio dejó de estar disponible y los registros del sistema mostraron la terminación del proceso por agotamiento de memoria.
Los scripts completos de pruebas de estrés no se publican para evitar facilitar el abuso contra instancias de CryptPad en producción.
image
Este aviso incluye intencionalmente solo una descripción no armada del método de reproducción.
A alto nivel, el problema puede reproducirse en un laboratorio controlado mediante:
No se incluye ningún exploit público ni script de inundación.
image
Un atacante puede, por tanto, abrir una conexión WebSocket y enviar cientos o incluso miles de tramas (cada una dentro del límite de tamaño permitido), hasta que el servidor haya almacenado en búfer y procesado una cantidad enorme de datos. Aunque cada trama por sí misma parezca «legal», el efecto acumulativo es que la memoria y la CPU del servidor se consumen procesando cada fragmento.
Un atacante remoto no autenticado puede:
image
>=2025.3.1, <2026.2.11e0c06ad8a0c5dab795f85f9730ec2693320c62eimage
Los operadores deben actualizar a la versión corregida de CryptPad indicada en el aviso final de CISA y en las notas de la versión de CryptPad.
Las mitigaciones adicionales de defensa en profundidad incluyen:
image
CryptPad reconoció la condición de denegación de servicio. El proveedor declaró que ya se habían implementado contramedidas en el lado de nginx para la instancia principal y que se estaban añadiendo cambios adicionales a la configuración de ejemplo y a la lógica del servidor. CryptPad también mencionó una refactorización más amplia del servidor destinada a incluir estas contramedidas.
CryptPad proporcionó posteriormente el PR #2239 como referencia pública de la corrección e indicó que la versión corregida es la 2026.2.2, después de un problema de versionado en la 2026.2.1.
image
Este problema está correctamente clasificado como una vulnerabilidad de denegación de servicio de alta gravedad. El ataque no requiere autenticación y puede causar la total indisponibilidad del servicio al agotar los recursos del servidor mediante patrones de tráfico WebSocket válidos.
image
Las pruebas se realizaron únicamente en entornos controlados. Este aviso no incluye scripts de inundación armados ni herramientas completas de reproducción.
image
John Perifanis
Investigador de seguridad
Contacto: https://www.linkedin.com/in/ioannis-p-9081842b9