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
php-exploit_cve-2022-31630 | Kitploit
Strumenti/GitHubGitHub/sepkascurty-cpu/php-exploit_cve-2022-31630
Analisi delle VulnerabilitàExploitApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubsepkascurty-cpu/php-exploit_cve-2022-31630

php-exploit_cve-2022-31630

Vedi Repository

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
15 mesi faNon ancora revisionato

#CVE-2022-31630 – Exploit Proof of Concept

Avvertenza: Questo codice è stato creato solo a scopo educativo e per test in un ambiente di laboratorio isolato. L'utilizzo su altri sistemi senza autorizzazione è illegale e irresponsabile.


📌 Descrizione

CVE-2022-31630 è una vulnerabilità di lettura Out-of-Bounds (OOB) nell'estensione GD di PHP, precisamente nella funzione imageloadfont(). Questa vulnerabilità consente a un attaccante che può controllare il file di font caricato da un'applicazione PHP di leggere dati oltre i limiti del buffer allocato. Possibili impatti:

· Denial of Service (crash) – l'applicazione smette di rispondere. · Information Disclosure – dati sensibili dalla memoria possono essere letti (ad esempio chiavi, token o altri frammenti di dati).

Versioni PHP interessate

· PHP 7.4.x precedenti alla 7.4.33 · PHP 8.0.x precedenti alla 8.0.25 · PHP 8.1.x precedenti alla 8.1.12

PHP 7.4.33 è la prima versione a ricevere la patch per questa CVE. Questo repository fornisce un Proof of Concept (PoC) per mostrare la differenza di comportamento tra la versione vulnerabile (≤ 7.4.32) e quella patchata (≥ 7.4.33).


🔍 Dettagli tecnici

La vulnerabilità risiede nella mancanza di validazione dell'input durante la lettura dei file di font GD (formato .gdf). Il file di font ha la seguente struttura header:

Byte offset Dimensione (byte) Descrizione 0 2 Magic number (0x01BE) 2 2 Numero di caratteri (nchars) 4 2 Larghezza del carattere (width) (in pixel) 6 2 Altezza del carattere (height) 8 2 Numero di byte per carattere (char_offset)

Se il valore di width viene impostato a un valore molto grande (ad esempio 65535), il calcolo della dimensione del buffer per memorizzare la bitmap dei caratteri risulta errato. Di conseguenza, il buffer allocato è troppo piccolo. Quando la funzione imagechar() successivamente legge i caratteri da quel font, accede a memoria oltre i limiti del buffer – questo è ciò che viene chiamato Out-of-Bounds Read.


🧪 Requisiti di test

· Docker (per eseguire un ambiente isolato) · PHP versione 7.4.32 o 7.4.33 (puoi usare le immagini Docker php:7.4.32-cli / php:7.4.33-cli) · Estensione GD (verrà installata all'interno del container)


🚀 Come usare il PoC

  1. Clona questo repository
root@kitploit:~
git clone https://github.com/sepkascurty-cpu/php-exploit_cve-2022-31630.git
cd exploit_cve-2022-31630
  1. Esegui il container con la versione PHP desiderata

Per testare la versione vulnerabile (7.4.32):

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.32-cli bash

Per testare la versione patchata (7.4.33):

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.33-cli bash
  1. All'interno del container, installa l'estensione GD
root@kitploit:~
cd /app
apt-get update
apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
docker-php-ext-configure gd --with-freetype --with-jpeg
docker-php-ext-install gd
  1. Esegui l'exploit
root@kitploit:~
php exploit_cve-2022-31630.php

📊 Esempio di output

Versione PHP Risultato atteso 7.4.32 (vulnerabile) Il programma va in crash con Segmentation Fault o si verifica una perdita di memoria (si vedono dati fittizi dalla memoria). 7.4.33 (patchata) L'esecuzione termina normalmente, il file immagine output.png viene salvato, nessun crash.


🛡️ Mitigazione

· Aggiorna PHP all'ultima versione che contiene la patch: · PHP 7.4.33 o successiva · PHP 8.0.25 o successiva · PHP 8.1.12 o successiva · Se non puoi aggiornare subito, disattiva l'estensione GD o la funzione imageloadfont() se non strettamente necessaria. · Applica il principio del minimo privilegio all'applicazione per minimizzare l'impatto in caso di perdita di memoria.


📚 Riferimenti

· CVE-2022-31630 su NVD · Commit della patch in php-src · Annunci di rilascio di PHP


⚠️ Disclaimer

Questo repository è fornito a scopo educativo e di ricerca sulla sicurezza. L'autore non è responsabile dell'uso improprio di questo codice. Assicurati di testare solo in ambienti di tua proprietà o per i quali hai ottenuto un'autorizzazione scritta.


Creato per la comunità di sicurezza informatica indonesiana.

Scarica lo strumento