Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-52616 — Aviso y PoC benigno para inyección de comandos del sistema operativo en un servidor MCP de nmap, con seguimiento de CVEs duplicados, guía de detección y mitigación. | Kitploit
Herramientas/GitHubGitHub/s1ko/cve-2026-52616
Análisis de VulnerabilidadesExplotaciónSeguridad de RedesSeguridad de APIs
GitHubs1ko/cve-2026-52616

CVE-2026-52616

Aviso y PoC benigno para inyección de comandos del sistema operativo en un servidor MCP de nmap, con seguimiento de CVEs duplicados, guía de detección y mitigación.

Ver Repositorio
26hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-52616 — mcp-nmap-server: inyección de comandos del SO mediante run_nmap_scan

La herramienta MCP run_nmap_scan construye su comando mediante interpolación de cadenas de los parámetros target y additionalFlags, y lo ejecuta a través de child_process.exec, es decir, /bin/sh -c.

⚠ Lee esto primero — identificador duplicado

Esta vulnerabilidad ya era pública antes de que existiera este ID de CVE. Está cubierta por CVE-2026-3484 / GHSA-xc68-rrqc-qgq3, asignado por VulDB y publicado el 2026-03-03 contra mcp-nmap-server <= 1.0.1 — mismo paquete, mismo sink CWE-78 child_process.exec.

CVE-2026-52616 fue asignado a s1ko por MITRE CNA-LR el 2026-07-13 en respuesta a un informe independiente. Esa asignación parece ser un duplicado, y así se ha señalado. El identificador preexistente CVE-2026-3484 es el que debería citarse.

Este repositorio se publica por completitud y para documentar el duplicado, no como una reivindicación de un descubrimiento novedoso. El crédito por la divulgación pública original no es de s1ko.

CVECVE-2026-52616 — duplicado de CVE-2026-3484
CWECWE-78 (Neutralización incorrecta de elementos especiales usados en un comando del SO)
Paquetemcp-nmap-server (npm)
Afectados1.0.1 y anteriores — todas las versiones publicadas
Corregido enninguna — repositorio archivado
CVSS v3.1AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 8.4 Alta (transporte stdio). AV:N → 9.8 Crítica si el servidor se envuelve en un transporte de red.
Reportado de forma independiente pors1ko (github.com/s1ko, [email protected])
CVE asignado2026-07-13, MITRE CNA-LR

Una trampa de nomenclatura que vale la pena señalar para quien deduplique esto: el paquete npm es mcp-nmap-server y el repositorio es nmap-mcp-server. Los dos órdenes se refieren al mismo proyecto.

Modelo de amenaza

Los argumentos de las herramientas MCP están influenciados por el atacante. Los produce un LLM a partir del contenido que procesa el agente —documentos, páginas web, salida de herramientas—, por lo que la inyección indirecta de prompts pone a un atacante en control de los valores que recibe un manejador de herramientas. Un manejador que introduce cualquiera de esos valores en un shell convierte esa influencia en ejecución de código en el host que ejecuta el servidor MCP. Este es el mismo modelo que el caso precedente aws-mcp-server / CVE-2026-5058.

Ejecución

dist/index.js — el objetivo se concatena a una cadena de comando que luego se entrega a exec:

command += ` ${target}`;
…
const { stdout, stderr } = await promisify(exec)(command);

child_process.exec ejecuta su argumento en /bin/sh -c, por lo que todo lo que aporta el llamador es sintaxis de shell. El esquema de entrada de Zod declara z.string(), que valida el tipo y no dice nada sobre el contenido, por lo que los metacaracteres pasan sin filtro. additionalFlags llega a la misma cadena por la misma vía.

Una llamada a run_nmap_scan con target establecido en 127.0.0.1; touch /tmp/marker; echo INJECTED produce:

/bin/sh -c "nmap … 127.0.0.1; touch /tmp/marker; echo INJECTED"

Reproducción

poc/driver.mjs habla MCP sobre stdio: inicializa el servidor, emite un tools/call para run_nmap_scan con un target inyectado, y comprueba la existencia de un archivo marcador. La carga útil es un touch inofensivo.

npm pack [email protected]
tar xf mcp-nmap-server-1.0.1.tgz && cd package && npm install
node ../poc/driver.mjs

Esperado en una versión afectada:

==== POC RESULT (mcp-nmap-server) ====
marker /tmp/PWNED_nmap created: true
verdict: CONFIRMED — command injection executed

nmap no necesita estar instalado — el comando inyectado se ejecuta en la misma cadena /bin/sh -c independientemente de si el binario inicial se resuelve o no. Validado el 2026-06-01 en un contenedor aislado y revalidado el 2026-06-13. Ejecútalo únicamente contra infraestructura que estés autorizado a probar.

Detección

  • Una línea de comandos de nmap que contenga ;, &&, ||, |, un backtick o $(.
  • Un proceso sh -c cuya línea de comandos empiece por nmap y contenga un segundo comando tras un separador — una señal de árbol de procesos (auditd, eBPF, Falco, EDR) que no depende del registro de la aplicación.
  • Procesos hijos inesperados del proceso del servidor MCP. Se espera nmap; un shell, un intérprete o un cliente de red no lo son.
  • Registros de llamadas a herramientas MCP donde target o additionalFlags contengan metacaracteres de shell. Un target debería coincidir con una IP, CIDR o nombre de host y nada más.

MITRE ATT&CK T1059.004 Command and Scripting Interpreter: Unix Shell.

Mitigación

El repositorio está archivado y es de solo lectura, la última versión en npm es la afectada 1.0.1, y no se publicará ninguna versión parcheada. La eliminación es la mitigación:

  • Deja de usar el paquete. No tiene mantenimiento, es públicamente vulnerable desde marzo de 2026 y no se corregirá.
  • Si debe permanecer, ejecútalo en un contenedor o VM como usuario sin privilegios, sin credenciales en su entorno y sin salida de red más allá del rango de escaneo, y no lo expongas a través de un transporte de red.
  • Envuelve o bifurca el servidor para validar target contra un patrón de IP/CIDR/nombre de host y para permitir en una lista blanca additionalFlags antes de que cualquiera de los dos llegue a la cadena de comandos.

La corrección, para cualquiera que lo bifurque, es llamar a execFile("nmap", [...args]) con un vector de argumentos en lugar de construir una cadena para exec. La validación de contenido, no solo la validación de tipos de Zod, es el requisito subyacente.

NIST SP 800-53r5 SI-10; OWASP ASVS v4 §5.3.8; mitigaciones de CWE-78 M1 y M2.

Cronología

FechaEvento
2026-03-03CVE-2026-3484 / GHSA-xc68-rrqc-qgq3 publicado por VulDB — la divulgación pública original, por otro investigador
2026-05-29Identificado de forma independiente mediante revisión del código fuente del tarball publicado, sin conocer el aviso de marzo
2026-06-01Validado dinámicamente sobre MCP stdio en un contenedor aislado
2026-06-13Duplicado identificado durante la deduplicación previa al envío; repositorio confirmado como archivado con Private Vulnerability Reporting no disponible. Veredicto interno: no presentar
2026-07-13MITRE CNA-LR asigna CVE-2026-52616 de todos modos, acreditando a s1ko como descubridor
2026-08-22Se publica este informe, documentando el duplicado

Referencias

  • Aviso original — https://github.com/advisories/GHSA-xc68-rrqc-qgq3
  • CVE original — https://nvd.nist.gov/vuln/detail/CVE-2026-3484
  • Paquete npm — https://www.npmjs.com/package/mcp-nmap-server
  • Repositorio (archivado) — https://github.com/PhialsBasement/nmap-mcp-server
  • Precedente para el modelo de amenazas de MCP — CVE-2026-5058 (aws-mcp-server)

Avisos complementarios de la misma ronda de investigación: CVE-2026-52617, CVE-2026-52618.

Licencia

MIT — consulta LICENSE.

Descargar herramienta