
Divulgation des CVE-2025-9886 et CVE-2025-9952
Divulgation pour CVE-2025-9886 et CVE-2025-9952.
Ce dépôt divulgue une vulnérabilité découverte dans Trinity Audio <= 5.20.1, un plugin WordPress développé par sergiotrinity.
| CVE ID | Type | Composant | Impact |
|---|---|---|---|
| CVE-2025-9886 | Cross-Site Request Forgery | admin/inc/post-management.php | Activation/désactivation en masse de Trinity Audio sur les publications sous la session de la victime |
| CVE-2025-9952 | Cross-Site Scripting réfléchi | admin/inc/post-management.php | Exécution de script arbitraire |
Composant affecté : Gestionnaire de la page Post Management (admin/inc/post-management.php)
Vecteur d'attaque : POST cross-origin vers wp-admin/admin.php?page=trinity_audio_post_management
Déclencheur : Un administrateur authentifié visite une page contrôlée par l'attaquant qui soumet automatiquement un formulaire conçu à cet effet
Impact : L'attaquant force des changements d'état en masse (activation/désactivation de Trinity Audio sur toutes les publications ou sur une plage de dates) avec les privilèges de l'administrateur, nuisant à l'intégrité et potentiellement à la disponibilité
Composant affecté : Gestionnaire de la page Post Management (admin/inc/post-management.php)
Vecteur d'attaque : POST cross-origin vers wp-admin/admin.php?page=trinity_audio_post_management avec post-management-action=activate-all-posts-range, range-before-after=after, et une date valide suivie de HTML.
Déclencheur : Un administrateur authentifié visite une page contrôlée par l'attaquant qui soumet automatiquement le formulaire conçu à cet effet. Au moins une publication publiée après la date fournie doit exister.
Impact : Du JavaScript arbitraire s'exécute dans l'origine de l'administrateur, permettant le vol de session, la manipulation des paramètres ou l'enchaînement de CSRF.
En combinant ces deux vulnérabilités, un attaquant peut exécuter des scripts arbitraires en dirigeant les utilisateurs vers un site contenant le formulaire suivant.
<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) : Le point de terminaison modifiant l'état accepte les requêtes cross-origin sans défenses CSRF. Il n'y a aucune vérification de nonce (check_admin_referer/wp_verify_nonce) ni validation Origin/Referer. Comme les cookies sont envoyés automatiquement, un attaquant peut déclencher des actions sous la session d'un utilisateur authentifié.
XSS réfléchi (CVE-2025-9952) : Le gestionnaire Post Management (admin/inc/post-management.php) interpole la valeur POST range-date dans le message de succès sans encodage de sortie (pas de esc_html()/wp_kses()), permettant l'injection de HTML/JS.
À première vue, ce ne sont que des CSRF et Self-XSS, mais en les combinant, si le CSRF réussit, on peut exécuter du JavaScript arbitraire. Créer un tel PoC intéressant a été amusant.
Nom : MooseLove
Rôle : Chercheur en sécurité indépendant / chasseur de bugs
Contact : Disponible sur demande
Cet avis est fourni pour la sensibilisation à la sécurité publique. Libre de partager avec attribution.