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/george0papasotiriou/cve-2026-4040-race-condition-in-file-upload-leading-to-rce
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubgeorge0papasotiriou/cve-2026-4040-race-condition-in-file-upload-leading-to-rce

CVE-2026-4040-Race-Condition-in-File-Upload-Leading-to-RCE

Reproduce CVE-2026-4040: servidor de subida de Flask con condición de carrera TOCTOU y script de exploit que demuestra ejecución remota de código arbitrario.

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
hace 17 díasAún no revisado

CVE-2026-4040 – Condición de carrera en la subida de archivos que conduce a RCE

Código del programa (Python Flask)

root@kitploit:~
# upload_server.py - File upload with race condition
from flask import Flask, request
import os, tempfile, time, threading

app = Flask(__name__)
UPLOAD_DIR = '/tmp/uploads'
os.makedirs(UPLOAD_DIR, exist_ok=True)

@app.route('/upload', methods=['POST'])
def upload():
    file = request.files['file']
    # Save to a temporary file
    fd, tmp_path = tempfile.mkstemp(dir=UPLOAD_DIR)
    file.save(tmp_path)
    # Simulate validation (check extension)
    if not file.filename.endswith('.txt'):
        os.unlink(tmp_path)
        return "Invalid extension", 400
    # Race window: between save and move, attacker can execute the script
    # In a real server, we'd move to safe name, but we simulate time delay
    time.sleep(0.5)   # vulnerability
    final_path = os.path.join(UPLOAD_DIR, file.filename)
    os.rename(tmp_path, final_path)
    return "Uploaded", 200

if __name__ == '__main__':
    app.run(port=5000)

CVE-2026-4040 – Condición de carrera en la subida de archivos que conduce a RCE

Severity: Critical

Resumen

Un endpoint de subida escribe el archivo cargado en una ruta temporal, valida la extensión y luego lo mueve a un nombre seguro tras un retraso. Un atacante puede competir para acceder y ejecutar el archivo temporal antes de que se produzca el renombrado, logrando así la ejecución remota de código.

Detalles de la vulnerabilidad

  • Tipo: Condición de carrera TOCTOU
  • Impacto: Ejecución arbitraria de código en el servidor.
  • Causa raíz: El archivo se guarda en una ubicación temporal predecible y permanece ejecutable durante la ventana de validación.

Demostración del exploit

  1. Inicie el servidor vulnerable:
    root@kitploit:~
    pip install flask
    python upload_server.py
    
  2. Ejecute el exploit:
    root@kitploit:~
    python exploit_race_upload.py
    
Descargar herramienta