01
Action de l'administrateur en premier

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.

  1. 1
    Installez 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.

  2. 2
    Confirmer 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.

  3. 3
    Examiner 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.

  4. 4
    Traitez 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.

02
CVE-2023-4596

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.

03
Ce que les archives prennent en charge

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.

04
La leçon durable

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.

01Restreindre le client

L’identité du robot ou la politique de demande peut arrêter la première connexion.

02Vérifiez le nom d'origine

Rejetez une extension qui est clairement dangereuse.

03Valider le nom définitif

Vérifiez à nouveau après avoir nettoyé ou renommé.

04Inspecter le contenu

Regardez au-delà de l’extension pour l’exécutable PHP.

05Autoriser l'écriture

La politique d'exécution peut rejeter une écriture PHP non autorisée.

06Empêcher l'exécution

La stratégie du serveur peut empêcher les répertoires de téléchargement d'être exécutables.

07Restreindre le trafic sortant

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.

05
Résultats historiques préservés

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.

Bloqué dans ce testContourné dans ce testNon bloqué dans ce testAtténuation manuelle disponible mais non activée/testéeNon enregistré
Test Forminator 1.24.6 créé par BitFire, 2 septembre 2023. Les versions du produit n'ont pas été enregistrées.
Plugin de sécurité1. Restriction des clients2. Vérification des extensions3. Validation du nom final4. Inspection du contenu5. Contrôle d'écriture à l'exécution6. Politique d'exécution de téléchargement7. Trafic sortant des outils
Clôture de motsNon bloqué dans ce testContourné dans ce testNon bloqué dans ce testContourné dans ce testNon bloqué dans ce testAtténuation manuelle disponible mais non activée/testéeNon bloqué dans ce test
Pare-feu NinjaNon bloqué dans ce testContourné dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testAtténuation manuelle disponible mais non activée/testéeNon bloqué dans ce test
Bouclier de sécuritéNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce test
Sécurité du siteNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce testNon bloqué dans ce test
BitFireBloqué dans ce testBloqué dans ce testAtténuation manuelle disponible mais non activée/testéeBloqué dans ce testBloqué dans ce testAtténuation manuelle disponible mais non activée/testéeBloqué 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.

06
Ce qui a été directement rapporté

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 plugin

Le 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 plugin

La 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 plugin

Aucune 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 plugin

Aucune 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 plugin

La 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.

07
Ce que les administrateurs doivent conserver

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.

Corriger les logiciels vulnérables

Supprimez l’erreur connue plutôt que de demander à chaque couche défensive de la compenser pour toujours.

Validez avant d'écrire

Vérifiez à la fois le nom d'origine et le nom de fichier final nettoyé ou généré avant le stockage.

Inspecter le contenu ainsi que les extensions

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.

Gardez les téléchargements non exécutables

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.

Autoriser les écritures dangereuses au moment de l'exécution

Une deuxième limite peut rejeter les écritures exécutables qui n'appartiennent pas à une opération authentifiée et attendue.

Surveiller les fichiers et le comportement sortant

Recherchez les fichiers exécutables inattendus, les modifications après le téléchargement, les accès directs et les connexions externes inhabituelles.

08
Méthodologie et divulgation

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

À propos de l'auteur

Cory Marais

Cory a plus de 20 ans d'expérience en sécurité Internet et est l'un des principaux développeurs du projet BitFire.

Lire la suite de la recherche BitFire →
Utilisez le test historique avec précaution

Avez-vous des preuves qui améliorent ce bilan ?

Envoyez une version datée, une configuration, un résultat reproductible ou une correction. Nous examinerons la documentation utile et rendrons la limitation visible.

Protéger mon site gratuitement â†'