Collabora — Ejecución Remota de Código en el CODE Server Integrado de Nextcloud (CVE-2026-110447)

Fecha de publicación: 14 de octubre de 2026
Categoría: Vulnerability / Malware

Introducción

Durante septiembre y octubre de 2026, administradores de sistemas y equipos de respuesta a incidentes identificaron una campaña activa de explotación dirigida contra servidores Nextcloud. Los atacantes lograron desplegar puertas traseras basadas en web (webshells) aprovechando una vulnerabilidad crítica de inyección de comandos en la aplicación opcional Collabora Online - Built-in CODE Server (richdocumentscode). El fallo, rastreado oficialmente como CVE-2026-110447, permite a atacantes no autenticados ejecutar código arbitrario con los privilegios del servidor web bajo condiciones específicas de reinicio o caída del servicio local de documentos.

¿Qué es CVE-2026-110447? (Análisis General)

La aplicación richdocumentscode descarga y ejecuta una copia empaquetada de Collabora Online Development Edition (CODE) directamente dentro del servidor Nextcloud, permitiendo edición de documentos sin necesidad de una infraestructura externa independiente. Esta modalidad está diseñada principalmente para entornos de prueba locales, uso personal o equipos reducidos.

El fallo de seguridad radica en el script de control proxy.php, el cual se encarga de inicializar el servidor CODE local cuando detecta solicitudes entrantes y comprueba que ningún proceso se encuentra a la escucha. En las versiones vulnerables, el script construía comandos de Bash utilizando cadenas entrecomilladas dobles que integraban de forma insegura parámetros de la solicitud HTTP (incluyendo la ruta de la petición), permitiendo la interpolación de comandos mediante operadores del shell como $(...).

  • CVE Oficial: CVE-2026-110447 (Verificado en NVD)
  • Puntuación y Severidad CVSS: 9.2 CRITICAL (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N)
  • Clasificación CWE: CWE-78 (Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’))
  • Catálogo CISA KEV: No reportado

(Nota complementaria: En diciembre previo se divulgó otra incidencia relacionada bajo el identificador CVE-2025-66208, una vulnerabilidad de inyección de comandos dependiente de configuración en el mismo script con una puntuación CVSS v4.0 de 7.2 HIGH y CWE-78, la cual no mitigaba el vector actual).

¿Cómo funciona? (Análisis Técnico)

El mecanismo de explotación se apoya en características específicas del ciclo de vida del CODE server integrado y en un error de diseño en el manejo de argumentos de shell en PHP puro.

  • Flujo de infección y entrada del exploit: El script proxy.php se ejecuta directamente desde el directorio de la aplicación sin cargar el núcleo de Nextcloud. Debido a que la concatenación insegura procesaba la ruta de la petición HTTP, un atacante podía enviar solicitudes especialmente craftadas hacia /apps/richdocumentscode/proxy.php?status incorporando patrones de evasión y secuencias de comando en la ruta (tales como %2e%2e, $(), o ${IFS}).
  • Condición de carrera / Ventana de ejecución: El fallo solo se activa cuando el servidor CODE local no se encuentra en ejecución —por ejemplo, inmediatamente después de un reinicio de contenedor, una actualización o un fallo de software (crash). Si el servicio ya está activo, la solicitud no invoca la lógica vulnerable de arranque.
  • Persistencia y exfiltración: Una vez ejecutado el comando con los privilegios del servidor web (por ejemplo, www-data), los atacantes decodificaban webshells en PHP de una sola línea (como shx*.php) dentro del directorio de la aplicación. En los incidentes analizados, los scripts enviaban información del sistema (uname -a) a servicios de terceros mediante webhooks y buscaban almacenes de credenciales o carteras de criptomonedas (archivos *.kdbx, wallet.dat, keystore.json y directorios asociados a gestores como Bitwarden, 1Password, Bitcoin, Electrum, Monero y Ethereum).

Sistemas / Entornos Afectados

El problema afecta exclusivamente a despliegues específicos que utilizan la aplicación integrada de desarrollo.

CVE Categoría (CWE) Impacto CVSS Vector (resumido)
CVE-2026-110447 CWE-78 RCE / Web shell 9.2 (Critical) AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H
CVE-2025-66208 CWE-78 RCE / Config-dependent 7.2 (High) AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H
  • Software afectado: Collabora Online - Built-in CODE Server (richdocumentscode) en versiones anteriores a 26.4.303.
  • Entornos seguros: Servidores independientes de Collabora Online (standalone) no están afectados. Instalaciones que emplean únicamente la aplicación estándar Nextcloud Office (richdocuments, sin el servidor integrado) tampoco resultan vulnerables, independientemente de si ejecutan Collabora en Docker, paquetes de Linux o proveedores externos.
  • Requisito de plataforma: Las versiones corregidas exigen Nextcloud 30 o posterior. Versiones de Nextcloud 29 y anteriores se encuentran al final de su ciclo de vida (End-of-Life).

Mitigación y Detección

Remediación

  1. Actualización prioritaria: Actualizar la aplicación richdocumentscode (Collabora Online - Built-in CODE Server) a la versión 26.4.303 o superior.
  2. Eliminación si no hay soporte: Desactivar la aplicación no soluciona el fallo de forma definitiva; si se utiliza una versión de Nextcloud obsoleta (<= 29) que no soporta la rama corregida, se debe desinstalar/eliminar por completo la aplicación del servidor.
  3. Revisión de artefactos residuales: Tras actualizar, auditar el sistema en busca de archivos PHP apócrifos remanentes (patrón shx*.php) en la ruta apps/richdocumentscode.

Detección

Los equipos defensivos deben realizar búsquedas retrospectivas en los registros de acceso web (access logs) desde al menos el 10 de septiembre de 2026, buscando los siguientes Indicadores de Compromiso (IoCs):

Nota para Analistas SOC: Cualquier archivo o recurso accesible por la cuenta del servidor web debe considerarse potencialmente expuesto tras una intrusión de este tipo, obligando a realizar una rotación general de secretos y credenciales almacenadas en el entorno.

  • Patrones en solicitudes HTTP: Peticiones dirigidas a proxy.php?status conteniendo en la ruta caracteres como %2e%2e, $(), ${IFS} o comandos encadenados mediante base64 -d canalizados a sh.
  • Nombres de archivos maliciosos reportados:
    • shrf4645.php, shxa35d0.php, shx5cf91.php, shxd33ce.php, shxf4645.php, shx13a86.php, shx56367.php (ubicados en apps/richdocumentscode/).
  • Hash SHA-256 de webshell conocido:
    • 4b9fbd0663fbfd6028fc216ed18e0d6ef3ae498a7fdc97083e4b0ce3cec40562
  • Direcciones IP maliciosas asociadas en ataques observados:
    • 139.28[.]18[.]122
    • 89.38[.]98[.]50
  • Dominios de exfiltración de telemetría:
    • webhook[.]site (con callbacks identificados como 45060ed4-de0b-4119-8f0d-2a2776bbd413 y 774cf5e1-b5a4-4174-a1ad-0241861029a2).

Recapitulando

La explotación activa del CVE-2026-110447 demuestra cómo componentes opcionales y de despliegue rápido (built-in) en plataformas de colaboración pueden convertirse en vectores críticos de entrada si manejan la inicialización de procesos mediante interpolación insegura de comandos en el shell. La respuesta coordinada exigió la publicación de parches específicos y resalta la necesidad de que los administradores no dependan exclusivamente de la desactivación de servicios, sino de la actualización estricta o remoción de complementos vulnerables en entornos de producción y prueba.

Referencias