
🛡️ CVE Proof-of-Concept Hub — 4 CVE PUBLICADOS · 5 en revisión (VulnCheck) · lote de SuiteCRM retirado
Scripts PoC funcionales y verificados para CVEs recientes. Probados en entornos de laboratorio. Para investigadores de seguridad, pentesters y jugadores de CTF.
Todos los PoCs son solo para fines educativos y pruebas autorizadas. Cada exploit ha sido probado en entornos de laboratorio aislados. No los utilices contra sistemas sin permiso explícito.
CVE-PoC-Hub/
├── README.md
├── CVE-2026-XXXXX/ # Cada CVE tiene su propia carpeta
│ ├── README.md # Descripción + pasos
│ ├── exploit.py # PoC funcional
│ └── screenshot.png # Prueba de explotación
├── templates/
│ └── poc-template.py # Plantilla PoC estándar
└── poc-runner.py # Ejecutor de PoCs en lote
| CVE | Producto | Tipo | CVSS |
|---|---|---|---|
| CVE-2026-66412 | Leantime ⭐10k+ | IDOR (getMilestone) | 7.5 |
| CVE-2026-66414 | Leantime ⭐10k+ | Open Redirect | 6.1 |
| CVE-2026-66415 | Leantime ⭐10k+ | SSRF + LFI | 8.8 |
| CVE-2026-66416 | Leantime ⭐10k+ | CSRF Deshabilitado | 8.8 |
| ID | Objetivo | Tipo | CVSS | Estado |
|---|---|---|---|---|
| b5aa1a1a | OzonTech file.d | API de Gestión sin Autenticación (:9000) | 8.2 | ✅ Verificado en vivo 2026-08-13 — en proceso de defensa |
SuiteCRM:
| ID | Tipo | CVSS | Motivo de retiro |
|---|---|---|---|
| SCRMBT-480 | SQLi sin autenticación (GeneratePassword) | 9.8 | El payload se escapa en retrieve_user_id(); INSERT inalcanzable (registro general de MySQL) |
| SCRMBT-481 | Bypass de carga de archivos (Caso) | 8.8 | strtolower() aplicado desde 2020; los archivos se almacenan bajo nombre GUID |
| SCRMBT-482 | Bypass de carga de archivos GD RCE | 8.8 | La regex de contenido se ejecuta antes de la comprobación GD; sin GD devuelve false desde 7.11.x |
| SCRMBT-483 | XSS sin autenticación (WebToLead) | 8.2 | voku AntiXSS elimina on* / javascript: incluso con ofuscación de entidades |
VulnCheck:
4 CVEs publicados a través de VulnCheck CNA (Khushali Dalal). file.d verificado en vivo y en proceso de defensa. 8 hallazgos retirados honestamente después de re-pruebas en vivo.
git clone https://github.com/javokhir-sec/CVE-PoC-Hub.git
cd CVE-PoC-Hub
# Listar todos los PoCs disponibles
python poc-runner.py --list
# Ejecutar un PoC específico (en entorno de laboratorio)
python poc-runner.py --cve CVE-2026-XXXXX --target http://lab-target.local
Usa esta plantilla para tus propios PoCs: templates/poc-template.py
#!/usr/bin/env python3
"""
CVE-YYYY-XXXXX: [Vulnerability Type] in [Product]
CVSS: X.X | Severity: Critical/High/Medium/Low
Author: @javokhir-sec
"""
import requests
import sys
TARGET = sys.argv[1] if len(sys.argv) > 1 else "http://localhost"
def exploit(target):
"""Execute the exploit and return True if vulnerable."""
print(f"[*] Testing {target} for CVE-YYYY-XXXXX")
# Step 1: Send malicious request
payload = "<script>alert(1)</script>"
r = requests.get(f"{target}/search?q={payload}")
# Step 2: Verify exploitation
if payload in r.text:
print(f"[+] VULNERABLE! Payload reflected in response.")
return True
else:
print(f"[-] Not vulnerable.")
return False
if __name__ == "__main__":
exploit(TARGET)
# Ejecutar todos los PoCs XSS contra un objetivo
python poc-runner.py --category xss --target http://lab.local
# Ejecutar todos los PoCs SQLi
python poc-runner.py --category sqli --target http://lab.local
# Ejecutar un nivel de severidad específico
python poc-runner.py --severity critical --target http://lab.local
| Categoría | Cantidad |
|---|---|
| Inyección SQL | 4 |
| XSS (Reflejado/Almacenado) | 4 |
| Control de Acceso Roto | 3 |
| CSRF | 1 |
| IDOR | 1 |
| Bypass de Autenticación | 2 |
| SSRF + LFI | 1 |
| RCE por Carga de Archivos | 1 |
| Open Redirect | 1 |
| Autenticación Faltante | 1 |
| Total | 4 Publicados + 1 Activo (file.d, verificado) |
¿Tienes un PoC funcional para un CVE reciente?
CVE-YYYY-XXXXX/README.md + exploit.py + captura de pantallaMIT © Javokhir Tursunboyev
| ID | Objetivo | Tipo | CVSS | Motivo de retiro |
|---|
| ad927f12 | eGov SmartCity | RCE Struts2 | 10.0 | S2-045/046 no aplicable a 2.5.14.1; S2-057 = CVE-2018-11776 existente (las reglas de CNA prohíben la reasignación) |
| 55c37649 | Comando de vehículo Tesla | JWT sin verificación | 8.8 | Por diseño: el proxy reenvía el token a la API de la flota de Tesla que lo verifica — token falsificado → 401 |
| 9582b653 | Gojek Darkroom | Path Traversal | 7.5 | gorilla/mux cleanPath redirige con 301 todos los ../ antes del despacho (probado en vivo) |
| 97d14382 | Kaspersky KLara | Sin límite de tasa | 6.5 | Brecha de endurecimiento, no apto para CVE; también framework incorrecto indicado en el informe |