poc-lab: scripts CVE para testear vulns críticas 2026
poc-lab es un repositorio de GitHub creado por Unclecheng-li que recopila scripts para la reproducción de CVEs de alta severidad enfocados en kernel Linux, Windows, macOS y servicios como Redis y NGINX, con PoCs funcionales en C y Python listos para entornos de laboratorio. Si buscás scripts CVE para reproducción de vulnerabilidades en un entorno controlado, este es uno de los repositorios más completos disponibles en 2026.
En 30 segundos
- poc-lab centraliza scripts de reproducción para CVEs críticas y altas de 2026, con foco en Linux kernel, Windows, macOS y herramientas como Redis y NGINX.
- CVE-2026-31431 (Copy Fail) permite escribir 4 bytes arbitrarios en kernel Linux mediante el template authenc; el script Python de 732 bytes obtiene root en distros afectadas desde 2017.
- CVE-2026-48172 tiene CVSS 10.0 (máximo posible) y afecta el plugin LiteSpeed para cPanel con ejecución como root.
- Los scripts están escritos mayormente en C (83%) y Python (12%); cada CVE tiene su directorio propio con README de instrucciones.
- Usarlo en sistemas ajenos sin autorización es delito. El repositorio es para entornos de testing controlados.
¿Qué es poc-lab? Un repositorio completo de scripts CVE para reproducción de vulnerabilidades
poc-lab es un repositorio público en GitHub mantenido por el usuario Unclecheng-li que recopila pruebas de concepto (PoC) y scripts de reproducción para vulnerabilidades CVE de alta y crítica severidad. El foco está en cuatro vectores: kernel Linux, Windows, macOS y servicios de infraestructura como Redis y NGINX.
Lo que lo distingue de otros repos similares (como el de 0xMarcio/cve) es que no almacena código histórico por antigüedad sino que prioriza vulnerabilidades “frescas e impactantes”: las que tienen ataque activo registrado o que por su naturaleza técnica representan un riesgo serio de escalada de privilegios o ejecución remota.
La estructura es simple: un directorio por CVE, un README con descripción técnica de la vulnerabilidad, y el script de explotación. Lenguajes: C ocupa el 83% del código, Python el 12%, el resto bash. Si alguna vez configuraste un laboratorio de seguridad en casa, ya sabés que encontrar PoCs actualizados y bien documentados no es tan fácil como suena.
Diferencia crítica: PoC vs exploit funcional
Ojo con esto: una prueba de concepto no es lo mismo que un exploit listo para usar en producción.
Un PoC demuestra que la vulnerabilidad existe y es explotable bajo condiciones controladas. Generalmente necesita que el entorno cumpla ciertos requisitos (versión específica del kernel, configuración particular del servicio, acceso local, etc.). Un exploit “en the wild” ya pasó por ese proceso de depuración y adaptación para funcionar en entornos reales con variantes y defensas activas.
Los scripts de poc-lab son lo primero. Sirven para entender el mecanismo de la vulnerabilidad, reproducirla en tu VM, y diseñar mitigaciones. No son armas automáticas. ¿Y qué pasaría si los ejecutás directamente contra un sistema de producción? Exacto: o no funcionan, o crashean el sistema, o peor. Relacionado: consideraciones de seguridad críticas.
Vulnerabilidades del kernel Linux: Copy Fail y Dirty Frag
Las dos CVEs más técnicamente interesantes del repositorio afectan el kernel Linux y están siendo explotadas activamente según The Hacker News y alertas de CISA de mayo 2026.
CVE-2026-31431 — Copy Fail
La falla está en la lógica del template authenc del subsistema de crypto del kernel. Bajo determinadas condiciones de error en la operación de copia, el kernel escribe 4 bytes en una dirección arbitraria de memoria.
Parece poco. Son 4 bytes. Pero posicionados correctamente, alcanzan para sobreescribir una estructura crítica y obtener root. El script de poc-lab para esta CVE pesa 732 bytes en Python, arranca sin dependencias especiales, y según el repositorio funciona en distribuciones que no parchearon desde 2017. Nueve años de exposición potencial (si es que eso cuenta como “legacy”).
CVE-2026-46300 — Dirty Frag / Fragnesia
Esta afecta el manejo de fragmentos de memoria en el stack de networking. Un fallo en fragment handling bajo carga o condiciones de red específicas lleva a corrupción de memoria. También aparece en distros sin parches desde 2017 y tiene ataque activo registrado según el advisory de CERT-EU de 2026.
Ambas CVEs tienen en común que no requieren autenticación especial en los escenarios descritos por los PoCs y que la superficie de ataque es enorme dado lo extendido de las versiones afectadas.
CVEs de Windows, cPanel y otros servicios en poc-lab
El repositorio no se limita al kernel Linux. Hay scripts para al menos cuatro vulnerabilidades adicionales relevantes:
| CVE | Afecta | CVSS | Tipo | Estado 2026 |
|---|---|---|---|---|
| CVE-2026-20805 | Windows Desktop Window Manager | 7.5 (alta) | Information Disclosure | PoC disponible |
| CVE-2026-48172 | LiteSpeed plugin para cPanel | 10.0 (crítica) | RCE / ejecución como root | Explotación activa |
| CVE-2026-27623 | Redis | 7.5 (alta) | DoS | PoC disponible |
| CVE-2026-42945 | NGINX | 8.1 (alta) | Denegación de servicio | PoC en revisión |
| CVE-2026-31431 | Linux kernel (authenc) | 9.8 (crítica) | LPE / escalada a root | Ataque activo |

CVE-2026-48172 merece atención especial: CVSS 10.0 es el máximo de la escala. Según el análisis de Elhacker.net de mayo 2026, el plugin LiteSpeed para cPanel tiene una falla que permite ejecutar comandos arbitrarios con privilegios de root sin necesidad de autenticación previa. Si tenés servidores con cPanel y ese plugin activo, revisá parches antes de leer el resto de este artículo.
Cómo descargar y ejecutar los scripts de poc-lab paso a paso
Clonar el repo es la parte fácil. Descargás, navegás al directorio del CVE que te interesa, leés el README y ejecutás. La estructura es predecible:
git clone https://github.com/Unclecheng-li/poc-lab- Navegá a
poc-lab/CVE-XXXX-XXXXX/ - Leé el
README.mddel directorio: tiene requisitos de versión del kernel/servicio, condiciones previas y parámetros del script - Para exploits en Python:
python3 exploit.py [argumentos] - Para los escritos en C:
gcc exploit.c -o exploit && ./exploit - Para scripts bash:
bash exploit.sh
El detalle con los scripts en C es que algunos requieren headers específicos del kernel. Si tu VM no tiene instalado el paquete linux-headers de la versión exacta que testeás, la compilación falla con errores crípticos. Metés una hora depurando y resulta que era solo eso. Lo explicamos a fondo en automatizar pruebas de vulnerabilidades.
Los PoCs en Python son más directos pero también más frágiles: algunos asumen que corrés en Python 3.10+ y usan syntax que 3.8 no soporta. Chequear la versión antes de ejecutar te ahorra frustraciones.
Configuración segura de laboratorio para testear PoCs
La regla básica: nunca ejecutés scripts CVE fuera de un entorno aislado.
Algunos de estos exploits, particularmente los de escalada de privilegios en kernel Linux, pueden dejar el sistema en estado inconsistente o causar kernel panic. Si corrés el script de Copy Fail en tu máquina de trabajo porque “ya sé lo que hace”, perdés el trabajo del día.
Lo que funciona bien para este tipo de testing:
- VMs con snapshots previos: tomá un snapshot antes de ejecutar cada PoC. Si el sistema queda inestable, revertís en 30 segundos.
- Red aislada o sin red: los PoCs que afectan servicios de red (Redis, NGINX) pueden tener comportamientos inesperados si hay tráfico real.
- Docker containers: útil para PoCs de servicios (Redis, NGINX), no para los de kernel (un exploit de kernel puede salir del container dependiendo del tipo de vulnerabilidad).
- Versiones específicas del OS: para reproducir la vulnerabilidad necesitás la versión exacta del kernel o servicio afectado. Un sistema actualizado simplemente no va a ser vulnerable.
Para hosting de laboratorio aislado, donweb.com tiene opciones de VPS que podés levantar y destruir según necesitás sin afectar otros entornos.
Responsabilidades legales y éticas: solo testing autorizado
El repositorio poc-lab lo dice textualmente: “for security research and educational purposes only”. No es un disclaimer decorativo.
Ejecutar estos scripts contra sistemas que no son tuyos o sobre los que no tenés autorización escrita explícita es un delito en Argentina (Ley 26.388), en Europa (Directiva NIS2) y en prácticamente cualquier jurisdicción relevante. La “curiosidad técnica” no es defensa legal.
La diferencia concreta:
- Testing defensivo: ejecutás un PoC en tu propia infraestructura para verificar si sos vulnerable, documentar el comportamiento y diseñar la mitigación. Legal, recomendado, buena práctica.
- Testing ofensivo autorizado: tenés un contrato de pentesting o bug bounty que cubre explícitamente los sistemas en cuestión. Legal bajo ese contrato.
- Testing sin autorización: cualquier otro caso. Delito.
El modelo de divulgación responsable también aplica acá: si encontrás una variante o mejora de algún PoC, el camino correcto es reportar al vendor antes de publicar.
Scoring CVSS: por qué importa para priorizar qué testear
La escala CVSS va de 0 a 10 y define la severidad de una vulnerabilidad según vectores de ataque, complejidad, privilegios requeridos e impacto. Tema relacionado: herramientas para testing automatizado.
Para organizar tu backlog de testing, los rangos importantes son: crítica (9.0-10.0), alta (7.0-8.9), media (4.0-6.9) y baja (menos de 4.0). Un CVSS 10.0 como CVE-2026-48172 significa que el ataque es remoto, sin autenticación, sin interacción del usuario, y el impacto es total en confidencialidad, integridad y disponibilidad. No hay más grave que eso.
CVE-2026-31431 (Copy Fail) entraría en crítica con un score estimado en 9.8, ya que requiere acceso local pero la escalada a root es prácticamente garantizada en sistemas sin parchar. El rango alto (como CVE-2026-27623 en Redis con 7.5) sigue siendo prioritario si el servicio está expuesto a internet.
La pregunta práctica es simple: ¿empezás por los 10.0 o por los que tienen ataque activo? La respuesta honesta es por los que combinan ambas cosas.
Qué está confirmado / Qué no está claro todavía
Confirmado
- CVE-2026-31431 y CVE-2026-46300 tienen explotación activa registrada según CISA (mayo 2026)
- CVE-2026-48172 tiene CVSS 10.0 oficial en NVD y explotación confirmada por elhacker.net
- poc-lab tiene scripts funcionales para las CVEs listadas con estructura de directorio por vulnerabilidad
- Los scripts están en C (83%) y Python (12%) y requieren entorno con versión de kernel/servicio específico sin parche
No confirmado / Pendiente
- No hay auditoría independiente del código de poc-lab (el repo es relativamente nuevo y con baja cantidad de colaboradores externos verificados)
- La cobertura de CVEs de macOS en el repositorio parece limitada al momento de este artículo; no hay PoCs de macOS documentados en el README principal
- El score CVSS de CVE-2026-31431 es estimación basada en el vector técnico; NVD puede actualizarlo cuando complete el análisis
Errores comunes al usar repositorios de PoCs CVE
Error 1: ejecutar el PoC en la versión equivocada del target. Un exploit para Linux kernel 6.8.x no va a funcionar en 6.12.x si el parche ya está integrado. El resultado más común es que el script termina sin error pero sin efecto, y perdés tiempo pensando que el problema es el exploit cuando en realidad ya no sos vulnerable.
Error 2: asumir que “no funciona en mi VM” significa “no soy vulnerable”. Los PoCs de repositorios públicos son frecuentemente versiones early, sin ajuste de offsets para todas las distribuciones. Que el script falle no garantiza que un exploit más pulido también falle. Revisá el parche en tu kernel directamente.
Error 3: ignorar las dependencias del PoC. Varios scripts de poc-lab requieren librerías específicas o un entorno de compilación particular. Arrancar el script sin leer el README del directorio es la forma más rápida de obtener errores crípticos y concluir que el repo “está roto”. Complementá con ejecutar scripts localmente sin dependencias.
Preguntas Frecuentes
¿Dónde encuentro scripts para reproducir CVEs de 2026?
poc-lab en GitHub (Unclecheng-li/poc-lab) es una de las fuentes más actualizadas para CVEs de alta severidad de 2026, con scripts en C y Python organizados por CVE. También podés consultar 0xMarcio/cve para una colección más amplia aunque menos curada. Siempre revisá la fecha del commit para confirmar que el script es reciente.
¿Cómo reproducir una vulnerabilidad del kernel de Linux de forma segura?
Levantá una VM con la versión exacta del kernel afectado, tomá un snapshot antes de ejecutar, y asegurate de que la VM no tiene acceso a red de producción. Los exploits de kernel como CVE-2026-31431 pueden causar kernel panic o dejar el sistema en estado inconsistente; con snapshot revertís en segundos y podés repetir el test.
¿Es legal descargar y ejecutar scripts CVE para testing?
Descargar es legal. Ejecutar en sistemas propios o con autorización escrita es legal. Ejecutar en sistemas ajenos sin autorización es un delito bajo la Ley 26.388 en Argentina y legislación equivalente en otros países. El repositorio mismo indica que es solo para investigación y fines educativos. La línea legal es clara: autorización explícita o no ejecutás.
¿Qué es CVE-2026-31431 y por qué es crítica?
CVE-2026-31431 es una vulnerabilidad en el template authenc del subsistema de crypto del kernel Linux que permite escribir 4 bytes arbitrarios en memoria bajo condiciones de error, lo que en la práctica permite escalada de privilegios a root. Afecta distribuciones sin parche desde 2017 y tiene explotación activa confirmada por CISA en mayo 2026. El PoC en poc-lab tiene 732 bytes en Python.
¿Cuál es la diferencia entre CVSS 9.8 y CVSS 10.0 en la práctica?
Un CVSS 10.0 como CVE-2026-48172 significa ataque remoto, sin autenticación, sin interacción del usuario y con impacto total. Un 9.8 generalmente difiere en un solo vector, como requerir acceso local en vez de remoto. Para priorización práctica, ambos son críticos y requieren parche inmediato; la diferencia real está en el vector de acceso: remoto sin auth (10.0) es más urgente porque cualquier IP puede intentarlo.
Conclusión
poc-lab cubre una necesidad real: tener scripts CVE para reproducción de vulnerabilidades actualizados, organizados y con documentación mínima funcional. Para equipos de seguridad defensiva que quieren verificar exposición antes de que llegue un parche oficial, o para researchers que estudian el mecanismo técnico de vulnerabilidades críticas, el repositorio es un recurso sólido.
Lo que cambia en 2026 respecto a años anteriores es la velocidad: CVE-2026-31431 tiene explotación activa y ya hay PoC público. El margen entre “sacar el parche” y “ya te entraron” se sigue achicando. Tener un laboratorio configurado para reproducir estas vulnerabilidades y validar parches deja de ser opcional para cualquier equipo que tome en serio la postura de seguridad.






