Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-82531 — Prueba de concepto (PoC) en Python y cadena de explotación para CVE-2026-82531: envenenamiento de la caché de plantillas de Smarty mediante marcadores SmartyNocache falsificados que conduce a la ejecución de código PHP, con comprobación, payload y laboratorio Docker. | Kitploit
Herramientas/GitHubGitHub/murrez/cve-2026-82531
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebHerramienta de Acceso RemotoLabs y Práctica
GitHubmurrez/cve-2026-82531

CVE-2026-82531

Prueba de concepto (PoC) en Python y cadena de explotación para CVE-2026-82531: envenenamiento de la caché de plantillas de Smarty mediante marcadores SmartyNocache falsificados que conduce a la ejecución de código PHP, con comprobación, payload y laboratorio Docker.

Ver Repositorio
11hace 1 mesAún no revisado

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

CVE-2026-82531 — PoC de RCE por envenenamiento de caché en Smarty

PoC en Python 3 para CVE-2026-82531 — smarty-php/smarty — inyección de código (CWE-94) mediante marcadores SmartyNocache falsificados en extends + regeneración de la caché de plantillas → RCE en el include() de la caché.

CampoValor
CVECVE-2026-82531
ProductoMotor de plantillas PHP Smarty
Afectados< 4.5.8; 5.0.0 – 5.8.4
Corregido4.5.8, 5.8.5
CWECWE-94 — Control inadecuado de la generación de código
CVSS 4.09.2 Crítica (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N)
CVSS 3.18.1 Alta
Catálogo de PoCbithttps://pocbit.org/pocs/
Página de PoCbithttps://pocbit.org/pocs/cve-2026-82531
Marcador de verificaciónPOCBIT-82531-OK (salida del comando en base64 en el cuerpo HTTP)
AvisosGHSA-3w63-v7pm-cq9x

Enfoque del exploit: poc.py exploit ejecuta calentamiento → limpieza de caché → envenenamiento (POST name=) → activación; check, payload, Docker lab/ (Smarty 5.8.4). Salidas: hits.txt, exploited.txt.


Descripción (inglés)

Smarty compila las plantillas a PHP y puede escribir la salida en caché. Cuando las plantillas usan extends: / herencia de bloques, la función compilada de nivel superior puede dejar nocache_hash sin establecer después de que un nuevo worker de PHP cargue los archivos compilados desde el disco.

Durante la regeneración de la caché, Smarty_Internal_Runtime_UpdateCache construye una regex que divide las regiones "nocache". Un hash nulo produce una alternativa de regex vacía, por lo que los datos controlados por el atacante mediante assign() pueden falsificar:

/*%%SmartyNocache:%%*/  <?php ... ?>  /*/%%SmartyNocache:%%*/

Ese bloque se copia literalmente en el archivo PHP de caché generado (se omite la neutralización normal de etiquetas PHP). La siguiente solicitud que incluya el archivo de caché ejecuta el PHP inyectado → ejecución remota de código.

Cadena de explotación (subcomando exploit)

FaseAcción
1 Calentarname=world benigno → compilar + caché inicial
2 LimpiarEliminar solo los archivos de caché (las plantillas compiladas permanecen) — el laboratorio expone ?lab_clear_cache=1
3 Envenenarname=<SmartyNocache falsificado + shell_exec de PHP> → caché envenenada escrita
4 Dispararname=benign benigno → include() ejecuta el PHP inyectado; el cuerpo contiene POCBIT-82531-OK:<base64>

Los objetivos reales necesitan: caché activada, plantillas extends, asignación controlada por el usuario, fallo de caché mientras el directorio de compilación está poblado (TTL, reinicio o vaciado por el administrador).


Açıklama (Turco)

En aplicaciones que usan Smarty extends: / herencia + caché, cuando nocache_hash es null, el bloque falso SmartyNocache que el atacante assigna se escribe como PHP en bruto en el archivo PHP de caché; en la siguiente petición, include → RCE. Paquete PoCbit: laboratorio Docker + cadena completa de exploit.


Inicio rápido (laboratorio + exploit)

cd CVE-2026-82531
pip install -r requirements.txt
docker compose up --build -d

python poc.py check http://127.0.0.1:8088
python poc.py exploit --url http://127.0.0.1:8088 -c "id"
python poc.py exploit -i targets.example.txt -w 10 -c id
python poc.py payload -c "id"

Tras la aplicación de parches: elimine/regenerar todos los archivos de caché de plantillas.


Legal

Solo investigación de seguridad autorizada y sistemas de su propiedad o para los que tenga permiso de prueba.


Créditos

  • CVE / proveedor: smarty-php/smarty, reportero MegaManSec
  • Cadena de PoC: upstream NocacheHashInjectionTest.php (Smarty 5.8.5)

Descripción del repositorio de GitHub (copiar/pegar)

CVE-2026-82531 — Smarty <4.5.8 / 5.x<5.8.5 cache-poisoning RCE (CWE-94, CVSS 4.0 9.2 AT:P). PoCbit PoC: extends+inheritance null nocache_hash → forged SmartyNocache marker in assign() → PHP in cache include. check/exploit/payload, Docker lab 5.8.4, hits.txt & exploited.txt. Fix 4.5.8 / 5.8.5. Marker POCBIT-82531-OK. https://pocbit.org/pocs/cve-2026-82531
Descargar herramienta