Mettre à jour Forminator avant de comparer les pare-feu
Un pare-feu est une couche supplémentaire et ne remplace pas une logique de téléchargement corrigée.
- 1Installez la dernière version prise en charge de Forminator
NVD identifie les versions jusqu'à 1.24.6 comme étant concernées. N'installez pas une ancienne version historique simplement parce qu'elle contient la correction originale.
- 2Confirmer la version active
Vérifiez la version affichée sur l'écran des plugins WordPress et vérifiez que les copies abandonnées ne sont pas laissées ailleurs sur le serveur.
- 3Examiner les anciens sites exposés
Si la version 1.24.6 ou antérieure accepte les téléchargements publics post-image, recherchez les fichiers exécutables inattendus, en particulier sous les répertoires de téléchargement, et examinez les journaux de demandes et de modifications de fichiers associés.
- 4Traitez les fichiers suspects comme un incident
Conservez les journaux et une sauvegarde, étudiez la persistance, alternez les informations d'identification concernées après le confinement et suivez les guide de nettoyage des logiciels malveillants.
La vulnérabilité en anglais simple
Le chemin post-image concerné a écrit un fichier avant de terminer la vérification qui a décidé si son type de fichier final était autorisé.
Dans Forminator jusqu'à 1.24.6, upload_post_image() lire les données téléchargées, sélectionner un nom de fichier final et écrire le fichier. Ce n’est qu’après que le code a appelé la vérification du type de fichier WordPress pour décider si l’extension finale appartenait à la liste d’images autorisées.
L’ensemble de modifications WordPress a déplacé l’écriture dans la branche de validation réussie. Cet ordre est important : la validation ne peut rejeter un nom final dangereux que si elle est exécutée avant que le serveur ne crée le fichier.
Portée du test historique
Les archives conservent le tableau et la prose, mais pas suffisamment de détails pour une comparaison actuelle ou entièrement reproductible.
- Date de l'examen
- 2 septembre 2023
- Cible
- Chemin de téléchargement post-image de Forminator 1.24.6
- Origine du trafic
- Un micro serveur AWS, selon l'article original
- Entrée de test
- L'exemple public Exploit-DB référencé par l'article ; aucune charge utile n'est reproduite ici
- Produits
- Wordfence, NinjaFirewall, Shield Security, SiteGround Security et BitFire
- Revendication de configuration
- Les auteurs ont indiqué avoir activé toutes les options de sécurité facilement disponibles
Le tableau mis à jour est une préservation de l’observation datée rédigée par BitFire et non un nouveau test. Chaque statut ci-dessous est un remplacement textuel de la légende d'origine : bloqué, contourné, non bloqué ou règle manuelle. Aucun résultat manquant n’a été déduit.
Sept endroits où la chaîne pourrait être interrompue
Chaque contrôle voit une partie différente de la même requête. Une conception utile ne dépend pas du fonctionnement des sept.
L’identité du robot ou la politique de demande peut arrêter la première connexion.
Rejetez une extension qui est clairement dangereuse.
Vérifiez à nouveau après avoir nettoyé ou renommé.
Regardez au-delà de l’extension pour l’exécutable PHP.
La politique d'exécution peut rejeter une écriture PHP non autorisée.
La stratégie du serveur peut empêcher les répertoires de téléchargement d'être exécutables.
La politique réseau peut limiter les comportements de commande et de contrôle connus.
Les étapes un à cinq peuvent empêcher la création ou l'acceptation du fichier. La sixième étape permet aux téléchargements ordinaires d'exister mais empêche le serveur Web de les exécuter en PHP. La septième étape se produit plus tard et peut limiter un type de communication post-compromis ; cela n'annule pas le téléchargement précédent.
Résultats du test de septembre 2023
Lisez chaque cellule comme « dans ce test », avec la limitation des versions manquantes appliquée à l'ensemble du tableau.
| Plugin de sécurité | 1. Restriction des clients | 2. Vérification des extensions | 3. Validation du nom final | 4. Inspection du contenu | 5. Contrôle d'écriture à l'exécution | 6. Politique d'exécution de téléchargement | 7. Trafic sortant des outils |
|---|---|---|---|---|---|---|---|
| Clôture de mots | Non bloqué dans ce test | Contourné dans ce test | Non bloqué dans ce test | Contourné dans ce test | Non bloqué dans ce test | Atténuation manuelle disponible mais non activée/testée | Non bloqué dans ce test |
| Pare-feu Ninja | Non bloqué dans ce test | Contourné dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Atténuation manuelle disponible mais non activée/testée | Non bloqué dans ce test |
| Bouclier de sécurité | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test |
| Sécurité du site | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test | Non bloqué dans ce test |
| BitFire | Bloqué dans ce test | Bloqué dans ce test | Atténuation manuelle disponible mais non activée/testée | Bloqué dans ce test | Bloqué dans ce test | Atténuation manuelle disponible mais non activée/testée | Bloqué dans ce test |
Comment les anciens symboles ont été mis à jour : les quatre catégories de symboles d'origine sont désormais écrites comme « Bloqué », « Contourné », « Non bloqué » et « Atténuation manuelle disponible ». « Non enregistré » est inclus dans la légende par souci d'exhaustivité, mais n'était pas nécessaire pour une cellule car l'ancien tableau avait un symbole à chaque position.
Observations par produit
Ces notes expliquent le tableau historique. Ils ne font aucune réclamation sur les fonctionnalités actuelles ou la configuration par défaut actuelle.
Clôture de mots
Page officielle du pluginLe test initial indiquait que la restriction du client n'arrêtait pas la demande. Ses vérifications d'extension et de contenu de fichier ont reconnu une partie de l'échantillon mais ont été contournées par les variations du test. Aucun contrôle de nom final ou d'écriture d'exécution n'a arrêté la demande. L'article rapportait que le blocage de l'accès PHP direct sous les téléchargements était disponible via une règle de serveur optimisée/manuelle, mais que l'atténuation ne faisait pas partie du résultat testé. Le trafic sortant des outils n’a pas été bloqué.
Pare-feu Ninja
Page officielle du pluginLa demande de test n'a pas été arrêtée par la restriction du client, la validation du nom final, l'inspection du contenu, le contrôle d'écriture à l'exécution ou le filtrage sortant. La vérification de l'extension a été contournée lors du test. L'ancien article décrivait une option manuelle permettant de refuser l'accès PHP sous les téléchargements, mais ne la testait pas en tant que contrôle activé.
Bouclier de sécurité
Page officielle du pluginAucune des sept étapes observées n'a bloqué cette demande particulière dans la configuration enregistrée. Ce résultat restreint n’établit pas ce que Shield Security prend actuellement en charge, ce que ferait une autre configuration ou si des contrôles non liés étaient efficaces.
Sécurité du site
Page officielle du pluginAucune des sept étapes n'a bloqué cette demande particulière dans la configuration enregistrée. Le test s’est limité à cette chaîne de téléchargement et ne doit pas être généralisé aux autres fonctionnalités de sécurité ou de compte du produit.
BitFire
Page officielle du pluginLa configuration enregistrée a bloqué la demande au niveau de la restriction du client, de la vérification des extensions, de l'inspection du contenu des fichiers, du contrôle d'écriture à l'exécution et du filtrage sortant. La prose originale indiquait que la politique relative aux robots pouvait différer de manière plus souple. Il attribue à la vérification de l'extension l'évaluation du nom final nettoyé, tandis que l'étape de crochetage dédiée et la règle du répertoire de téléchargement du serveur ont été marquées comme des atténuations manuelles plutôt que des blocs testés.
Créez des contrôles indépendants autour des téléchargements
La table va vieillir. Les principes de conception sécurisée ne dépendent pas d’un produit particulier.
Supprimez l’erreur connue plutôt que de demander à chaque couche défensive de la compenser pour toujours.
Vérifiez à la fois le nom d'origine et le nom de fichier final nettoyé ou généré avant le stockage.
Un nom de fichier est un signal. Les octets téléchargés et le comportement attendu des médias fournissent des preuves supplémentaires.
Lorsque les exigences de l'application et de l'hébergement le permettent, configurez les répertoires de téléchargement afin que PHP ne puisse pas s'y exécuter.
Une deuxième limite peut rejeter les écritures exécutables qui n'appartiennent pas à une opération authentifiée et attendue.
Recherchez les fichiers exécutables inattendus, les modifications après le téléchargement, les accès directs et les connexions externes inhabituelles.
Limites, intérêt commercial et sources
Une comparaison équitable rend visible l’incertitude et donne aux lecteurs les principales preuves.
Références primaires et officielles
- Enregistrement NVD pour CVE-2023-4596
Versions concernées jusqu'à 1.24.6, description de la vulnérabilité et évaluation CVSS 3.1.
- Ensemble de modifications WordPress 2954409 pour Forminator
Déplace la création de fichier après la vérification finale réussie du type de fichier.
- Référence historique publique Exploit-DB
L'échantillon cité par le test original. Cet article ne reproduit pas sa charge utile.
- Page officielle du plugin Forminator et journal des modifications
Informations sur la version actuelle. Le journal des modifications historique ne nomme pas explicitement ce correctif.
- Page officielle de Wordfence, Page officielle de NinjaFirewall, Page officielle de Shield Security, Page officielle de SiteGround Sécurité, et Page officielle de BitFire
Utilisez la documentation actuelle du fournisseur plutôt que ce tableau 2023 pour les capacités actuelles.