Imagen ilustrativa generada con IA
Seis vulnerabilidades afectan a CISA Malcolm: riesgo de ejecución de código arbitrario e interrupción de servicios
CISA informa de seis vulnerabilidades en la suite Malcolm que riesgan ejecución de código arbitrario y denegación de servicio. Afecta a versiones específicas con CVSS 8.8.
Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA
Seis fallos en la suite de análisis de tráfico
CISA ha informado hoy, 18 de agosto de 2026, de seis vulnerabilidades en la suite CISA Malcolm, una plataforma utilizada para analizar tráfico de red. Los impactos van desde la denegación de servicio hasta la ejecución de código PHP arbitrario, pasando por el acceso no autorizado a backends administrativos.
Las vulnerabilidades afectan a distintas versiones del producto:
- CVE-2026-55676: versiones de Malcolm anteriores a la 26.06.1;
- CVE-2026-63133, CVE-2026-63134 y CVE-2026-63177: versiones de Malcolm anteriores a la 26.07.0;
- CVE-2026-19670 y CVE-2026-19671: Malcolm 26.07.1 y anteriores.
Todas las versiones indicadas están clasificadas como known_affected. La puntuación CVSS global comunicada por CISA es 8.8, aunque la gravedad varía entre los distintos fallos.
La fuente no indica si estas vulnerabilidades están incluidas en el catálogo CISA Known Exploited Vulnerabilities (KEV). Por tanto, no hay una fecha de incorporación ni un plazo operativo asociado al catálogo.
Una carga de archivos puede permitir ejecutar código PHP
La vulnerabilidad más grave es CVE-2026-55676, con una puntuación CVSS 3.1 de 8.8. Afecta al backend PHP de FilePond, utilizado para gestionar las cargas de archivos.
El componente acepta archivos mediante el endpoint:
POST /server/php/submit.php
y los almacena en un directorio expuesto por la misma instancia de Nginx y php-fpm:
/var/www/upload/server/php/files
De forma predeterminada, no se especifican extensiones permitidas. Además, la sanitización conserva la extensión .php. Por ello, un usuario autenticado con privilegios limitados puede cargar un archivo PHP y solicitarlo posteriormente mediante:
GET /server/php/files/.php
Las reglas de Nginx reenvían las URL con extensión .php a php-fpm, lo que provoca la ejecución del código con los privilegios del usuario www-data.
El problema es especialmente relevante en configuraciones RBAC. Antes de la versión 26.06.1, el rol granular ROLE_UPLOAD, diseñado para permitir únicamente la carga de archivos de captura, podía acceder al endpoint vulnerable. De este modo, una cuenta autorizada exclusivamente para cargar archivos podía ejecutar código arbitrario en el contenedor file-upload.
El vector CVSS indica acceso remoto, baja complejidad y la necesidad de autenticación con privilegios limitados:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
La corrección está disponible en la versión 26.06.1.
Extracción insegura: traversal y consumo ilimitado de recursos
Tres vulnerabilidades afectan al script safe-extract.py, utilizado para procesar archivos comprimidos cargados en la plataforma.
CVE-2026-63133 permite un ataque de agotamiento de recursos. En las versiones anteriores a la 26.07.0, el script no imponía límites adecuados al número de elementos, la profundidad de los directorios, el número total de entradas ni el tamaño de la salida.
Un archivo comprimido pequeño puede contener una cantidad enorme de archivos y directorios. Durante la extracción, el contenedor filebeat puede crear un número ilimitado de objetos en el sistema de archivos, consumiendo inodos o metadatos. Como consecuencia, la canalización de procesamiento puede bloquearse y afectar también a otros servicios que compartan el mismo punto de montaje.
La vulnerabilidad tiene una puntuación CVSS 3.1 de 6.5:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
La corrección está disponible desde la versión 26.07.0.
CVE-2026-63134 afecta a la extracción mediante directory traversal. Aunque Malcolm utiliza las opciones de seguridad de libarchive, la creación de directorios se realiza mediante una ruta construida con:
os.makedirs(os.path.join(dest, entry.pathname))
Esta operación no impide adecuadamente el uso de secuencias ../ ni de rutas absolutas. Por tanto, un archivo preparado por un atacante puede hacer que el contenedor filebeat cree directorios fuera del área prevista.
La puntuación CVSS 3.1 es de 5.4, con impacto en la integridad y la disponibilidad. Este fallo también se corrige en la versión 26.07.0.
La tercera vulnerabilidad del grupo es CVE-2026-63177, un bypass de los controles RBAC provocado por la gestión incoherente de las rutas entre Nginx y OpenResty Lua. El control Lua analiza el valor sin procesar de ngx.var.request_uri, mientras que Nginx selecciona el backend utilizando una ruta normalizada.
Un usuario autenticado con pocos privilegios puede anteponer una secuencia de traversal, por ejemplo:
/x/../upload/...
Nginx puede dirigir la solicitud al backend restringido, mientras que el control Lua no identifica la regla aplicable. Al no existir una coincidencia, el acceso se permite en lugar de denegarse.
El fallo tiene una puntuación CVSS 3.1 de 7.1 y se corrige en la versión 26.07.0.
La codificación y los archivos comprimidos sortean otras defensas
CVE-2026-19670 afecta a Malcolm 26.07.1 y anteriores y explota una diferencia entre el control RBAC y el enrutamiento de Nginx.
La capa Lua realiza la búsqueda de patrones sobre la URI sin procesar y codificada mediante porcentajes. Nginx, en cambio, descodifica y normaliza la ruta antes de seleccionar el bloque location.
Un usuario autenticado con pocos privilegios puede codificar partes de la URL, por ejemplo:
/%68tadmin.php
Nginx interpreta el valor como una ruta administrativa, mientras que el control RBAC no reconoce la restricción al analizar la URI todavía codificada. Entre los endpoints expuestos se encuentran /htadmin, /auth, /admin_login, /arkime/api/esadmin, NetBox y las rutas de carga.
La puntuación es CVSS 3.1 de 5.4. No se indica una versión correctiva específica para esta vulnerabilidad.
Por último, CVE-2026-19671 afecta a los ataques de descompresión mediante archivos comprimidos de flujo único. Los límites aplicados a los archivos ZIP, TAR, RAR y 7z mediante libarchive no se aplican del mismo modo a los archivos:
.gz;.bz2;.xz;.lzma;.lz.
Un usuario autorizado para cargar archivos PCAP o registros puede enviar un archivo muy pequeño pero altamente comprimible. Durante el procesamiento, el contenido puede expandirse sin un límite efectivo y consumir el espacio del volumen Docker compartido por OpenSearch, Logstash, Arkime y Zeek.
Esto puede interrumpir la plataforma para todos los usuarios. El fallo tiene una puntuación CVSS 3.1 de 6.5. Tampoco se indica una versión correctiva específica.
Qué deben hacer los administradores
La prioridad es actualizar Malcolm, como mínimo, a las versiones corregidas disponibles:
- 26.06.1 para CVE-2026-55676;
- 26.07.0 para CVE-2026-63133, CVE-2026-63134 y CVE-2026-63177.
En el caso de CVE-2026-19670 y CVE-2026-19671, las versiones vulnerables incluyen la 26.07.1, pero no se indica una versión que solucione el problema. Los administradores deben comprobar las actualizaciones disponibles y limitar temporalmente el acceso a los endpoints afectados.
También conviene reducir al mínimo las cuentas autorizadas para cargar archivos, revisar los roles RBAC y examinar los registros relacionados con cargas, solicitudes que contengan rutas codificadas o ../, y accesos anómalos a endpoints administrativos.
Asimismo, deben supervisarse el consumo de espacio, los inodos y los metadatos de los volúmenes Docker, además de los reinicios o errores de los contenedores file-upload y filebeat. No se han indicado indicadores de compromiso específicos.
CISA recomienda evitar la exposición directa a Internet, ubicar los sistemas detrás de firewalls, aislar las redes de control de las redes corporativas y utilizar VPN actualizadas para el acceso remoto. Estas medidas deben evaluarse teniendo en cuenta el impacto operativo de la instalación.
Fuentes
Este artículo es una reelaboración original basada en las siguientes fuentes.
CVE tratadas en este artículo
- CVE-2026-55676HIGH8.8Malcolm is a network traffic analysis tool suite. The file-upload component (FilePond PHP backend) accepts uploads at `POST /server/php/submit.php` and stores them in a directory served by the same nginx and php-fpm instance. The allow-list that should restrict accepted file types is an empty array
- CVE-2026-63177HIGH7.1Malcolm is a network traffic analysis tool suite. Prior to version 26.07.0, role-based access control enforced in the Nginx OpenResty Lua layer evaluates the raw, unnormalized `ngx.var.request_uri`, while Nginx itself routes requests using the normalized path. An authenticated low-privilege user can
- CVE-2026-63133MEDIUM6.5Malcolm is a network traffic analysis tool suite. Prior to version 26.07.0, `safe-extract.py` extracts uploaded archives with no limit on entry count, directory depth, total entries, or output size. A small malicious archive containing a large number of directory or file entries causes the filebeat
- CVE-2026-19671MEDIUM6.5Malcolm's upload-processing pipeline (scripts/safe-extract.py) enforces entry-count, nesting-depth, and total-uncompressed-byte limits when extracting container archives (zip/tar/rar/7z via libarchive), but those limits are not applied when the uploaded file is a single-stream compressed format (.gz
- CVE-2026-63134MEDIUM5.4Malcolm is a network traffic analysis tool suite. Prior to version 26.07.0, `safe-extract.py` protects file extraction with libarchive's secure flags, but creates directory entries with a raw `os.makedirs(os.path.join(dest, entry.pathname))` that has no traversal protection. An uploaded malicious ar
- CVE-2026-19670MEDIUM5.4Malcolm's nginx Lua role-based access control (RBAC) layer decides whether an authenticated user may reach a role-restricted path (e.g. /htadmin, /auth, /admin_login, /arkime/api/esadmin, NetBox, upload endpoints) by pattern-matching the raw, percent-encoded request URI. Nginx itself, however, selec
