
CVE-2025-12163 : Cross-Site Scripting stocké dans le plugin WordPress Omnipress
Vulnérabilité XSS stockée dans le plugin WordPress Omnipress (CVE-2025-XXXXX) - Une vulnérabilité de cross-site scripting stocké dans le plugin de blocs Gutenberg Omnipress permettant à des attaquants authentifiés disposant de privilèges de niveau Auteur d'injecter des scripts malveillants.
Une vulnérabilité de cross-site scripting stocké (XSS) a été découverte dans le plugin WordPress Omnipress qui permet à des attaquants authentifiés disposant d'un accès de niveau Auteur ou supérieur d'injecter des scripts web arbitraires dans des pages, lesquels s'exécutent lorsqu'un utilisateur consulte une page injectée.
Découvert par : Kai Aizen
Publié : décembre 2025
Score CVSS : 6.4 (Moyen)
CWE : CWE-79 - Neutralisation incorrecte des entrées lors de la génération de pages web ('Cross-site Scripting')
Plugin : Omnipress – Plugin de blocs Gutenberg pour WordPress
Type d'attaque : Cross-site scripting stocké authentifié (Auteur+)
Privilèges requis : Accès de niveau Auteur ou supérieur
Le plugin Omnipress pour WordPress est vulnérable au Cross-Site Scripting stocké dans toutes les versions jusqu'à la 1.6.3 incluse, en raison d'un assainissement insuffisant des entrées et d'un échappement insuffisant des sorties. Cela permet à des attaquants authentifiés, disposant d'un accès de niveau Auteur ou supérieur, d'injecter des scripts web arbitraires dans des pages qui s'exécuteront lorsqu'un utilisateur consultera une page injectée.
Cette vulnérabilité permet à des attaquants authentifiés de :
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
La vulnérabilité existe en raison d'un traitement incorrect des entrées utilisateur dans les composants de l'éditeur de blocs Omnipress :
La vulnérabilité peut être exploitée en :
Une preuve de concept démontrant cette vulnérabilité existe, mais elle est retenue afin de laisser le temps de corriger et de mettre à jour les utilisateurs.
Action immédiate requise :
Assurez-vous que toutes les entrées utilisateur dans les blocs Gutenberg implémentent des contrôles de sécurité appropriés :
// Example of proper output escaping in block render
function render_block_content( $attributes ) {
// Escape all user-supplied attributes
$safe_content = esc_html( $attributes['content'] );
$safe_url = esc_url( $attributes['url'] );
$safe_attr = esc_attr( $attributes['customAttr'] );
// Use wp_kses for HTML content with allowed tags
$allowed_html = array(
'a' => array( 'href' => array(), 'title' => array() ),
'strong' => array(),
'em' => array(),
);
$safe_html = wp_kses( $attributes['htmlContent'], $allowed_html );
return sprintf(
'<div class="%s"><a href="%s">%s</a></div>',
$safe_attr,
$safe_url,
$safe_content
);
}
Chercheurs :
Processus de divulgation : Coordonné dans le cadre du programme de bug bounty Wordfence
Ces informations sont fournies uniquement à des fins de recherche en sécurité et de défense. Toute exploitation de cette vulnérabilité à des fins malveillantes est illégale et contraire à l'éthique. Obtenez toujours une autorisation appropriée avant de tester des systèmes qui ne vous appartiennent pas.
Pour toute question ou information complémentaire sur cette vulnérabilité :
Dernière mise à jour : décembre 2025
Le compte-rendu complet de ce projet, sa méthodologie et les recherches associées sont disponibles sur :
https://snailsploit.com/security-research/cves/cve-2025-12163/
Créé par Kai Aizen — chercheur indépendant en sécurité offensive.
snailsploit.com · Recherche · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter
Même attaque. Substrat différent.
| Métrique | Valeur |
|---|
| Vecteur d'attaque | Réseau (AV:N) |
| Complexité d'attaque | Faible (AC:L) |
| Privilèges requis | Faible (PR:L) |
| Interaction utilisateur | Aucune (UI:N) |
| Périmètre | Modifié (S:C) |
| Confidentialité | Faible (C:L) |
| Intégrité | Faible (I:L) |
| Disponibilité | Aucune (A:N) |