
Investigación de seguridad y divulgación de vulnerabilidades para la aplicación ownCloud ONLYOFFICE Integration, incluyendo análisis técnico, PoCs, impacto y remediación.
CWE-307: Restricción inadecuada de intentos excesivos de autenticación Gravedad
CVSS v3.1: 8.1 (Alta)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
La puntuación refleja el impacto observado durante las pruebas del flujo de autenticación afectado.
Owncloud versión 10.16.3
El endpoint WebDAV afectado acepta credenciales de autenticación a través de la cabecera HTTP Authorization: Basic.
Ejemplo de solicitud:
GET /remote.php/webdav/ HTTP/1.1 Host: target.example Authorization: Basic <BASE64(username:password)>
El valor Base64 representa:
username:password
Los fallos de autenticación repetidos contra la misma cuenta no activan los mecanismos de protección contra fuerza bruta esperados.
Durante las pruebas, se enviaron múltiples intentos de autenticación inválidos consecutivos sin observar:
Limitación de tasa
Retrasos progresivos de autenticación
Bloqueo temporal de la cuenta
HTTP 429 Too Many Requests
Un intento de autenticación posterior con credenciales válidas seguía siendo aceptado.
Paso 1 — Acceder al flujo de autenticación WebDAV
Autenticarse en ownCloud y obtener acceso a un documento/recurso compartido privado que utilice el flujo de autenticación WebDAV afectado.
Al acceder al endpoint afectado, el servidor presenta un desafío de autenticación básica HTTP.
Paso 2 — Observar la solicitud de autenticación
Las credenciales se transmiten a través de la cabecera HTTP Authorization:
Authorization: Basic <BASE64(username:password)>
Paso 3 — Realizar intentos de autenticación repetidos
Utilizando una cuenta de prueba controlada, enviar repetidamente solicitudes de autenticación que contengan contraseñas inválidas.
Ejemplo de credenciales de prueba:
testuser:incorrect-password-01 testuser:incorrect-password-02 testuser:incorrect-password-03 ...
Las solicitudes pueden reproducirse utilizando Burp Suite Intruder u otra herramienta de pruebas HTTP.
Paso 4 — Observar el comportamiento del servidor
Tras múltiples intentos de autenticación fallidos consecutivos, el servidor continúa aceptando solicitudes de autenticación sin aplicar un mecanismo eficaz de protección contra fuerza bruta.
No se observa ningún bloqueo temporal, retraso progresivo, limitación de tasa ni respuesta HTTP 429 Too Many Requests.
Paso 5 — Verificar la autenticación exitosa
Una solicitud posterior con las credenciales correctas se acepta con normalidad.
Esto demuestra que los fallos de autenticación repetidos no restringen suficientemente los intentos posteriores de adivinación de contraseñas a través del mecanismo de autenticación WebDAV afectado.
Se incluye con esta investigación un breve vídeo de PoC que demuestra la prueba completa.
Un atacante capaz de alcanzar el endpoint de autenticación WebDAV afectado puede intentar contraseñas repetidamente contra cuentas de usuario sin encontrar protecciones eficaces contra fuerza bruta a nivel de aplicación.
La adivinación exitosa de contraseñas podría dar lugar a un acceso no autorizado a la cuenta de ownCloud objetivo y a sus recursos asociados, dependiendo de los privilegios y permisos de dicha cuenta.
Por lo tanto, la vulnerabilidad aumenta la viabilidad de los ataques de adivinación de contraseñas en línea contra cuentas expuestas a través del flujo de autenticación afectado.
Un problema similar se ha reportado previamente en un producto Nextcloud relacionado y se le asignó:
CVE-2023-32319
Referencia:
HackerOne Report #1879549
Esta referencia se proporciona para comparar el problema de protección contra fuerza bruta en la autenticación y no implica que ambas vulnerabilidades sean idénticas.
El flujo de autenticación WebDAV debería integrarse con el mecanismo de protección contra fuerza bruta existente en la aplicación.
Los controles recomendados incluyen:
Registrar los intentos de autenticación fallidos para cada cuenta y/o origen.
Aplicar retrasos progresivos tras fallos de autenticación repetidos.
Aplicar un número máximo configurable de intentos fallidos consecutivos.
Rechazar temporalmente nuevos intentos de autenticación una vez alcanzado el umbral configurado.
Devuelve HTTP 429 Too Many Requests cuando se active la limitación de velocidad.
Aplica la protección de forma consistente en todos los mecanismos de autenticación, incluida la autenticación básica HTTP utilizada por WebDAV.
Asegúrate de que los mecanismos de autenticación o endpoints alternativos no puedan utilizarse para eludir la protección existente de la aplicación contra ataques de fuerza bruta.
Una política posible podría restringir temporalmente la autenticación tras un número configurable de fallos consecutivos, como 10 intentos. El umbral exacto y el periodo de restricción deben determinarse de acuerdo con los requisitos de seguridad de la aplicación.
ownCloud Server: https://github.com/owncloud/core
Vulnerabilidad relacionada: CVE-2023-32319
Informe de HackerOne #1879549: https://hackerone.com/reports/1879549
Hoang126 en nombre del equipo de seguridad de ETC JSC
Investigación de seguridad y divulgación responsable.
Esta investigación se llevó a cabo con fines de pruebas de seguridad y divulgación responsable.
Las pruebas se realizaron contra un entorno controlado. No se realizó ningún acceso no autorizado a cuentas o datos de terceros.