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
php-oom-longjmp — PHP 8.4.26 - Critico - Remoto - OOM longjmp - CVE-2026-109618 PHP2Shell. Un multipart chunked non autenticato raggiunge memory_limit prima del codice dell'app su Apache mod_php. Lab vs 8.4.27. Advisory RCE dedotta. | Kitploit
Strumenti/GitHubGitHub/abraxas/php-oom-longjmp
Memory ForensicsAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebApprendimento e FormazioneLab e Pratica
GitHubabraxas/php-oom-longjmp

php-oom-longjmp

PHP 8.4.26 - Critico - Remoto - OOM longjmp - CVE-2026-109618 PHP2Shell. Un multipart chunked non autenticato raggiunge memory_limit prima del codice dell'app su Apache mod_php. Lab vs 8.4.27. Advisory RCE dedotta.

Vedi Repository
120h 45m 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

Abraxas Labs - php-oom-longjmp

php2shell - php-oom-longjmp

Chiunque su internet può comunicare con il tuo sito PHP allo stesso modo di un browser, senza password. Sulle ultime versioni di PHP interessate è possibile inviare una richiesta di caricamento file appositamente costruita che fa esaurire la memoria al motore mentre sta ancora leggendo la richiesta, prima che la tua applicazione venga avviata. PHP esce quindi da quel lavoro con la richiesta costruita solo a metà. Il PHP Group ha dimostrato che la pulizia di quello stato parzialmente costruito può trasformarsi in esecuzione di codice remoto nei panni del worker web. Questo laboratorio dimostra il salto per esaurimento di memoria su Apache mod_php 8.4.26 e che la 8.4.27 completa la stessa richiesta in modo pulito.

Classe: OOM longjmp / interruzione all'avvio della richiesta Portata: Remota

PHP 8.4.26 (php:8.4.26-apache) vs 8.4.27 con patch - php.net

Apache mod_php esegue sempre lo shutdown della richiesta, anche quando l'avvio della richiesta è fallito. CVE-2026-109618 è un longjmp() su memory_limit durante il parsing rfc1867 mentre un bucket di una HashTable è già visibile al teardown. Il laboratorio consiste in un POST multipart/form-data chunked senza Content-Length utilizzabile e con ~3000 header di parte aggiuntivi sotto memory_limit=8M. La 8.4.26 restituisce Fatal error: Allowed memory size ... in Unknown on line 0. La 8.4.27 restituisce il marker di attività ed esegue index.php. La GET al worker dopo il trigger restituisce ancora 200 su entrambi i lati. L'RCE nei panni del worker Apache è dedotto dal GHSA.

IDCVE-2026-109618
AdvisoryGHSA-w8hw-w9fx-j79w
ClasseOOM longjmp / interruzione all'avvio della richiesta (RCE dedotto dall'advisory)
PortataRemota (HTTP non autenticato)
CWECWE-416 / CWE-824 / CWE-755
CVSSCritico: 9.2 CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H (PHP Group)
ProdottoPHP
InteressatePHP 8.2 precedente alla 8.2.35, 8.3 precedente alla 8.3.36, 8.4 precedente alla 8.4.27, 8.5 precedente alla 8.5.12 (versione del lab 8.4.26)
Corrette8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 (21 ott 2026)
Authnessuna
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Correlata: CVE-2026-109619 UAF su worker-global obsoleto (coppia PHP2Shell).

Cosa può fare un attaccante

MetodoSinkPrivilegio
POST non autenticato multipart/form-data con Transfer-Encoding: chunked, molti header di parte aggiuntivi, memory_limit finitoparsing rfc1867 / longjmp di zend_bailout durante php_request_startupDisponibilità (dimostrata nel lab): interruzione dell'avvio della richiesta prima di index.php sulla 8.4.26 (Unknown on line 0). Integrità (dedotta): lo shutdown percorre $_POST/$_FILES parzialmente inizializzati; il vendor ha mostrato RCE nei panni del worker Apache (www-data nell'immagine ufficiale). Ricognizione (dedotta): divulgazione di residui dell'heap della richiesta.
Stesso trigger sulla 8.4.27soft OOM ritardatoChiusa (dimostrata nel lab): marker di attività HTTP 200, files=1, il worker resta attivo.
GET dopo il triggerworker ancora attivoDimostrata nel lab: questa versione non ha prodotto SIGSEGV né registrato zend_mm_heap corrupted.
Login, route dell'applicazione, .so personalizzato, reverse shelln/aChiusa. Nessun tentativo di controllo del RIP.

Dimostrato nel lab vs dedotto: il differenziale OOM-longjmp tra 8.4.26 e 8.4.27 è dimostrato nel lab. La UAF con morte del worker e l'RCE sono dedotti da GHSA-w8hw-w9fx-j79w. FPM in genere termina il processo figlio in caso di fallimento all'avvio; per questa CVE il vendor non ha mostrato un exploit FPM completo.

Requisiti: Apache apache2handler. memory_limit finito (non impostare -1; quella è la mitigazione). Parsing multipart abilitato. php:8.4.26-apache ufficiale vs php:8.4.27-apache.

Lab

python3 php-oom-longjmp-Abraxas-Labs.py

oppure cd lab && ./run.sh. Loopback 127.0.0.1:18220 (8.4.26) vs 127.0.0.1:18221 (8.4.27). Progetto Compose cve-2026-109618. Witness CVE-2026-109618-OOM-WITNESS. Ultima riga:

SUCCESS CVE-2026-109618 vuln-crash=yes patched-ok=yes sapi=apache2handler vuln-image=php:8.4.26-apache patched-image=php:8.4.27-apache how=oom-longjmp-startup-fatal trigger=header-bomb-chunked asan=no CVE-2026-109618-OOM-WITNESS

Solo laboratorio autorizzato. Comunica con il loopback.

La correzione

Aggiornare a PHP 8.4.27 (o 8.2.35 / 8.3.36 / 8.5.12). La patch sostituisce il longjmp() per OOM con un soft OOM ritardato al successivo punto sicuro della VM e un _exit() forzato oltre una soglia più alta (31c0ea7). Fino ad allora: impostare memory_limit=-1 a livello di amministratore in modo che le applicazioni non possano sovrascriverlo; mantenere post_max_size basso; limitare il numero di parti e le dimensioni delle intestazioni multipart. Non usare RLIMIT_AS o RLIMIT_DATA.

Riferimenti

  • php.net 21 Oct 2026 security release
  • GHSA-w8hw-w9fx-j79w
  • CVE-2026-109618
  • php/php-src tag php-8.4.26 vs php-8.4.27
  • Patch 31c0ea7 Avoid state corruption via bailout
  • Correlato GHSA-6wmf-4rv5-p3rp CVE-2026-109619
  • Crediti: Calif, Wiz, OpenAI, PHP security team

Abraxas Labs [email protected]

Scarica lo strumento