
Divulgazione per CVE-2025-9886 e CVE-2025-9952
Divulgazione per CVE-2025-9886 e CVE-2025-9952.
Questo repository divulga una vulnerabilità scoperta in Trinity Audio <= 5.20.1,plugin WordPress sviluppato da sergiotrinity.
| CVE ID | Tipo | Componente | Impatto |
|---|---|---|---|
| CVE-2025-9886 | Cross-Site Request Forgery | admin/inc/post-management.php | Abilitazione/disabilitazione in blocco di Trinity Audio sui post nella sessione della vittima |
| CVE-2025-9952 | Reflected Cross-Site Scripting | admin/inc/post-management.php | Esecuzione di script arbitrari |
Componente interessato: handler della pagina Post Management (admin/inc/post-management.php)
Vettore di attacco: POST cross-origin a wp-admin/admin.php?page=trinity_audio_post_management
Attivazione: un amministratore autenticato visita una pagina controllata dall'attaccante che invia automaticamente un modulo appositamente predisposto
Impatto: l'attaccante forza modifiche di stato in blocco (abilita/disabilita Trinity Audio su tutti i post o su un intervallo di date) con i privilegi dell'amministratore, compromettendo l'integrità e potenzialmente la disponibilità
Componente interessato: handler della pagina Post Management (admin/inc/post-management.php)
Vettore di attacco: POST cross-origin a wp-admin/admin.php?page=trinity_audio_post_management con post-management-action=activate-all-posts-range, range-before-after=after e una data valida seguita da HTML.
Attivazione: un amministratore autenticato visita una pagina controllata dall'attaccante che invia automaticamente il modulo appositamente predisposto. Deve esistere almeno un post pubblicato dopo la data fornita.
Impatto: JavaScript arbitrario viene eseguito nell'origine dell'amministratore, consentendo il furto di sessione, la manipolazione delle impostazioni o la concatenazione di attacchi CSRF.
Combinando queste due vulnerabilità, un attaccante può eseguire script arbitrari indirizzando gli utenti verso un sito che contiene il seguente modulo.
<form method="POST" action="https://victim.example.com/wp-admin/admin.php?page=trinity_audio_post_management">
<input type="hidden" name="action" value="1">
<input type="hidden" name="post-management-action" value="activate-all-posts-range">
<input type="hidden" name="range-before-after" value="after">
<input type="hidden" name="range-date" value="2025-09-03<img src=x onerror=alert(document.domain)>">
</form>
<script>document.forms[0].submit();</script>
CSRF(CVE-2025-9886): L'endpoint che modifica lo stato accetta richieste cross-origin senza difese CSRF. Non c'è verifica del nonce (check_admin_referer/wp_verify_nonce) né validazione di Origin/Referer. Poiché i cookie vengono inviati automaticamente, un attaccante può far eseguire azioni nella sessione di un utente autenticato.
Reflected XSS(CVE-2025-9952): L'handler di Post Management (admin/inc/post-management.php) inserisce il valore POST di range-date nella notifica di successo senza codifica di output (nessun esc_html()/wp_kses()), consentendo l'iniezione di HTML/JS.
A prima vista sembrano solo CSRF e Self-XSS, ma combinandoli, se il CSRF va a buon fine, è possibile eseguire JavaScript arbitrario. È stato divertente riuscire a creare un PoC così interessante.
Nome: MooseLove
Ruolo: ricercatore di sicurezza indipendente / bug hunter
Contatto: disponibile su richiesta
Questo advisory è fornito per la sensibilizzazione pubblica sulla sicurezza. Libero da condividere citando la fonte.