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
CVE-2026-22807_Range — # Simulador educativo en Python de CVE-2026-22807 Simulador educativo en Python que replica CVE-2026-22807, una vulnerabilidad de ejecución remota de código (RCE) en la cadena de suministro de IA mediante TOCTOU en la carga de modelos. Incluye biblioteca vulnerable, script de PoC y generación dinámica de payloads para investigación y enseñanza en seguridad. | Kitploit
Herramientas/GitHubGitHub/otakuliu/cve-2026-22807_range
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónSeguridad de Cadena de SuministroAprendizaje y EducaciónSeguridad de IA
GitHubotakuliu/cve-2026-22807_range

CVE-2026-22807_Range

Ver Repositorio

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 →
hace 6 mesesAún no revisado

Acerca de

# Simulador educativo en Python de CVE-2026-22807 Simulador educativo en Python que replica CVE-2026-22807, una vulnerabilidad de ejecución remota de código (RCE) en la cadena de suministro de IA mediante TOCTOU en la carga de modelos. Incluye biblioteca vulnerable, script de PoC y generación dinámica de payloads para investigación y enseñanza en seguridad.

Compartir

🛡️ Simulación CVE-2026-22807: Campo de Entrenamiento RCE en la Cadena de Suministro de IA

⚠️ Aviso legal / Disclaimer

Este proyecto es exclusivamente para fines de investigación y educación en seguridad, y tiene como objetivo demostrar el principio de ataque a la cadena de suministro (Remote Code Execution) durante el proceso de carga de modelos de IA. No utilice los modelos maliciosos generados en entornos de producción, y está estrictamente prohibido utilizar este proyecto para cualquier actividad de ataque ilegal. Los desarrolladores no asumen ninguna responsabilidad legal derivada del uso indebido.

📖 Introducción al Proyecto (Introduction)

Este es un campo de entrenamiento ligero en Python, diseñado para simular y reproducir CVE-2026-22807 (una lógica típica de vulnerabilidad en la cadena de suministro de IA).

Este campo de entrenamiento demuestra el problema de condición de carrera (TOCTOU) cuando los frameworks de inferencia de IA (como vLLM, Transformers, etc.) cargan modelos: Si el cargador, antes de verificar trust_remote_code=False, importa prematuramente el código Python proporcionado por el usuario para analizar la arquitectura del modelo (AutoConfig/AutoModel), un atacante puede eludir los controles de seguridad y lograr ejecución remota de código (RCE).

Características principales

  • ❌ Simulación de lógica vulnerable: Replica el diseño erróneo de "primero analizar el código, luego verificar permisos".
  • 💣 Generación dinámica de Payload: Admite la inyección de comandos personalizados del sistema a través de parámetros de línea de comandos.
  • 🚀 Cero dependencias: No requiere instalar PyTorch ni vLLM, solo necesita la biblioteca estándar de Python para ejecutar la verificación.

📂 Estructura de archivos (Files)

Nombre de archivoRolDescripción
vulnerable_lib.py🎯 Víctima (Victim)Simula una biblioteca cargadora de modelos de IA vulnerable (MiniLLM). Contiene el orden lógico erróneo.
poc_dynamic.py🔫 Atacante (Attacker)Script de ataque automatizado. Se encarga de generar el directorio del modelo malicioso y desencadenar el proceso de carga.
dynamic_evil_model/📦 Carga maliciosaDirectorio generado automáticamente tras la ejecución del script, que contiene config.json y malicious.py con código inyectado.

🛠️ Inicio rápido (Quick Start)

1. Preparación del entorno

Asegúrese de tener instalado Python 3.x. Este campo de entrenamiento no tiene dependencias de bibliotecas de terceros.

2. Verificación básica

Ejecute directamente el script de ataque; por defecto ejecuta el comando whoami.

root@kitploit:~
python poc_dynamic.py

Salida esperada: Verá que la consola imprime la cadena PWNED junto con el nombre de usuario actual del sistema, y solo después el programa lanzará la excepción "Remote code not allowed". Esto demuestra que la defensa ha sido eludida.

3. Explotación avanzada (comandos personalizados)

Puede pasar cualquier comando del sistema como parámetro al script para generar una "bomba" específica.

Ejemplo en Windows (abrir calculadora):

root@kitploit:~
python poc_dynamic.py calc

Ejemplo en Linux/Mac (ver archivo):

root@kitploit:~
python poc_dynamic.py cat /etc/passwd

🔍 Análisis técnico de la vulnerabilidad (Technical Analysis)

Flujo lógico de la vulnerabilidad

Este campo de entrenamiento reproduce el siguiente flujo peligroso:

  1. Cargar configuración: El cargador lee config.json.
  2. Analizar arquitectura (Vulnerabilidad): El cargador detecta el campo auto_map y, para confirmar la clase del modelo, ejecuta directamente importlib para importar el archivo Python objetivo.
  3. Ejecución de código (Exploit): Debido al mecanismo de import de Python, el os.system() en la parte superior del archivo malicioso se ejecuta inmediatamente.
  4. Verificación de seguridad (Bypass): Después de que el código se ejecuta, el cargador recién verifica trust_remote_code. Aunque en este punto intercepta y reporta el error, el ataque ya se ha completado.

Comparación de código central

❌ Código vulnerable (vulnerable_lib.py):

root@kitploit:~
# 1. Primero se desencadena la carga de código (el RCE ocurre aquí)
self._resolve_model_class() 

# 2. Luego se realiza la verificación de seguridad (después del daño)
if not self.trust_remote_code:
    raise RuntimeError("Aborted!")

✅ Solución:

root@kitploit:~
# 1. Primero se realiza la verificación de seguridad
if not self.trust_remote_code and self._needs_remote_code():
    raise RuntimeError("Aborted!")

# 2. Solo después de pasar la verificación se carga el código
self._resolve_model_class()
Descargar herramienta