WordPress La version 6.4.2 est sortie aujourd'huile 6 décembre 2023. Il inclut un correctif pour une chaîne POP introduit dans la version 6.4 qui, combiné à une vulnérabilité d'injection d'objet distincte, pourrait entraîner une vulnérabilité de gravité critique permettant aux attaquants d'exécuter du code PHP arbitraire sur le site.

Nous invitons tous les utilisateurs de WordPress à mettre à jour immédiatement vers la version 6.4.2, car ce problème pourrait permettre la reprise complète du site si une autre vulnérabilité est présente.

Analyse technique

Nous avons écrit sur Vulnérabilités d'injection d'objets dans le passé, et la principale raison pour laquelle la plupart des vulnérabilités d'injection d'objets sont difficiles à exploiter est le manque de chaînes POP utiles.

Le problème ici réside dans le WP_HTML_Token classe, qui a été introduite dans WordPress 6.4 et est utilisée pour améliorer l’analyse HTML dans l’éditeur de blocs. Il comprend un __destruct méthode magique qui est automatiquement exécutée une fois que PHP a traité la requête. Ce __destruct utilisations de la méthode call_user_func pour exécuter la fonction transmise via le on_destroy propriété, en acceptant le bookmark_name propriété comme argument :

public function __destruct() {
    if ( is_callable( $this->on_destroy ) ) {
        call_user_func( $this->on_destroy, $this->bookmark_name );
        }
}

Puisqu'un attaquant capable d'exploiter une vulnérabilité d'injection d'objet aurait un contrôle total sur le on_destroy et bookmark_name propriétés, ils peuvent l’utiliser pour exécuter du code arbitraire sur le site afin d’obtenir facilement un contrôle total.

Bien que WordPress Core ne présente actuellement aucune vulnérabilité d’injection d’objet connue, elles sont répandues dans d’autres plugins et thèmes. La présence d’une chaîne POP facile à exploiter dans le cœur de WordPress augmente considérablement le niveau de danger de toute vulnérabilité d’injection d’objet.

Le patch est très simple :

public function __wakeup() {
   throw new \LogicException( __CLASS__ . ' should never be unserialized' );
}

Le nouvellement ajouté __wakeup La méthode garantit que tout objet sérialisé avec le WP_HTML_Token la classe renvoie une erreur dès qu'elle n'est pas sérialisée, empêchant le __destruct fonction de l'exécution.

Nous avons publié une règle de pare-feu pour protéger Wordfence Premium, Entretien de la clôture des motset Réponse de Wordfence utilisateurs. Les utilisateurs gratuits de Wordfence bénéficieront de la même protection dans 30 jours, le 5 janvier 2024.

Conclusion

Dans le message d'intérêt public d'aujourd'hui, nous avons analysé un correctif pour un problème potentiellement critique dans WordPress 6.4-6.4.1 qui pourrait permettre aux attaquants de profiter de toute vulnérabilité d'injection d'objet présente dans n'importe quel plugin pour exécuter du code. Bien que la plupart des sites devraient automatiquement être mis à jour vers WordPress 6.4.2, nous vous recommandons fortement de vérifier manuellement votre site pour vous assurer qu'il est mis à jour.

Nous vous recommandons de partager cet avis avec toutes les personnes que vous connaissez qui utilisent WordPress, car il s’agit d’un problème potentiellement critique qui pourrait conduire au rachat complet du site.

Saviez-vous que Wordfence a un Programme de prime aux bogues? Nous avons récemment multiplié nos primes par 6,25 jusqu'au 20 décembre 2023, nos primes pour les vulnérabilités les plus critiques atteignant 10 000 $ USD ! Si vous êtes un chercheur en vulnérabilité en herbe ou actuel, Cliquez ici pour vous inscrire.


Source link