Lors d’un audit interne du plugin patreon WordPress, l’équipe de jetpack scanning a identifié plusieurs vulnérabilités qui permettent aux utilisateurs de détecter le site. Ces vulnérabilités ont été divulguées à lamp;rsquoauteur du plug in, qui a immédiatement publié la version 1.7.2 pour corriger tous ces problèmes. utilisez une version antérieure du plug in, mettez le à jour maintenant! Veuillez continuer à lire tous les détails techniques. camp;rsquoest ce que tu penses, ne tamp;rsquoinquiète pas. Nous fournissons jetpack Scan pour gérer la numérisation des logiciels malveillants et les mises à jour ou suppressions automatiques pour .
Notre équipe a identifié divers vecteurs damp;rsquoattaque, y compris la divulgation de fichiers locaux, la falsification de demandes inter sites (csrf) et la réflexion sur les vulnérabilités dans les scripts inter sites (xss). Une vulnérabilité de divulgation de fichiers locaux est une vulnérabilité quamp;rsquoun attaquant utilise pour accéder à des informations critiques telles que les clés de site Web confidentielles et les identifiants de base de données. Les vulnérabilités dans les scripts de réflexion inter sites et les requêtes inter sites incorrectes sont un problème qui permet aux attaquants damp;rsquoeffectuer des actions spécifiques au nom damp;rsquoutilisateurs insoupçonnés en cliquant sur des liens malveillants soigneusement construits.
En cas damp;rsquoattaque, certains pourraient permettre à des utilisateurs malveillants de contrôler des sites Web vulnérables. Versions touchées par une vulnérabilité locale de divulgation de fichiers: amp;lt 1.7.0 ID CVE: CVE-2021-24227 CVSSv3: 7.5 CCSS: 83.6 public static function servePatronOnlyImage( $image=false ) {
if ( ( !isset( $image ) OR !$image ) AND isset( $_REQUEST[amp;039patron_only_imageamp;039] ) ) {
$image = $_REQUEST[amp;039patron_only_imageamp;039]
}
if ( !$image OR $image == amp;039amp;039) {
This is not a rewritten image request. Exit.
return
}
if ( !( isset( $_REQUEST[amp;039patreon_actionamp;039] ) AND $_REQUEST[amp;039patreon_actionamp;039] == amp;039serve_patron_only_imageamp;039 ) ) {
return
}
$upload_locations = wp_upload_dir()
We want the base upload location so we can account for any changes to date based subfolders in case there are
$upload_dir = substr( wp_make_link_relative( $upload_locations[amp;039baseurlamp;039] ) , 1 )
$image = get_site_url() . amp;039amp;039 . $upload_dir . amp;039amp;039 . $image
if ( current_user_can( amp;039manage_optionsamp;039 ) ) {
Patreon_Protect::readAndServeImage( $image )
}
Below define can be defined in any plugin to bypass core locking function and use a custom one from plugin
It is independent of the plugin load order since it checks if it is defined.
It can be defined by any plugin until right before the_content filter is run.
if ( apply_filters( amp;039ptrnbypass_image_filteringamp;039, defined( amp;039PATREON_BYPASS_IMAGE_FILTERINGamp;039 ) ) ) {
Patreon_Protect::readAndServeImage( $image )
}
Check if the image is protected:
$attachment_id = attachment_url_to_postid( $image )
attachment_url_to_postid returns 0 if it cant find the attachment post id
if ( $attachment_id == 0 ) {
Couldnt determine attachment post id. Try to get id from thumbnail
$attachment_id = Patreon_Protect::getAttachmentIDfromThumbnailURL( $image )
No go. Have to get out and serve the image normally
if ( $attachment_id == 0 OR !$attachment_id ) {
Patreon_Protect::readAndServeImage( $image )
Patreon-Connect conteneva una vulnerabilità di divulgazione di file locali che poteva essere abusata da chiunque visitasse il sito. Utilizzando questo vettore di attacco, un utente malintenzionato potrebbe divulgare importanti file interni come wp-config.php, che contiene le credenziali del database e le chiavi crittografiche utilizzate nella generazione di nonce e cookie.
Se sfruttato con successo, questo difetto di sicurezza potrebbe portare a una completa acquisizione del sito da parte di malintenzionati. XSS riflesso nel modulo di accesso Versioni interessate: amp;lt 1.7.2 ID CVE: CVE-2021-24228 CVSSv3: 8.8 CCSS: 80.6 public static function processPatreonMessages() {
$patreon_error = amp;039amp;039
if ( isset( $_REQUEST[amp;039patreon_erroramp;039] ) ) {
If any specific error message is sent from Patreon, prepare it
$patreon_error = amp;039 Patreon returned: amp;039 . $_REQUEST[amp;039patreon_erroramp;039]
}
if ( isset( $_REQUEST[amp;039patreon_messageamp;039] ) ) {
return amp;039
amp;lsquo . Apply _ filters (amp;lsquoptrn error messageamp;rsquo, self: $messages Map [$request [amp;lsquopatteon messageamp;rsquo]]. $patteon error).
amp;lsquo
Patreon Connect se connecte au module de connexion WordPress (WP login.php) et donne aux utilisateurs la possibilité d’authentifier le site en utilisant le compte patreon. Malheureusement, une partie de la logique damp;rsquoenregistrement des erreurs en coulisse permet à lamp;rsquoutilisateur de contrôler lamp;rsquoentrée sur la page damp;rsquoatterrissage plutôt que de la désinfecter.
Exploitation réussie de cette vulnérabilité
Un int non protégé permet à une personne malveillante de créer un lien explosif qui, une fois accédé, écrase ou crée des métadonnées utilisateur arbitraires sur le compte de la victime.
En cas damp;rsquoattaque, cette erreur peut être utilisée pour outrepasser la méta fonctionnalité wp U, qui contient les rôles et les permissions du compte utilisateur affecté. Cela les empêcherait fondamentalement damp;rsquoaccéder au site Web et au contenu payant. Csrf qui permet à un attaquant de déconnecter un site damp;rsquoune version affectée par patreon: $ Valeur)
Supprimer _ option ($options to delete [$Key])
}
Options de mise à jour (« version de lamp;rsquoAPI damp;rsquoinstallation du modèle», « 2»)
Mise à jour _ option (amp;lsquopateon can use API v2amp;rsquo, True)
WP _ redirection (Admin URL (amp;lsquoadmin.php? Page = pateon WordPress Setup Wizard amp;amp Setup stage = reconnect 0amp;rsquo)
Exportations
}
Ceci est similaire à la dernière vulnérabilité, car il samp;rsquoagit du même type damp;rsquoattaque (csrf), mais la cible est lamp;rsquoAdministrateur. Ce vecteur damp;rsquoattaque particulier fonctionne comme le précédent. Un attaquant doit obtenir un administrateur connecté pour accéder à un lien conçu.
Étant donné que ce paramètre spécifique peut déconnecter le site de patreon, même un attaquant ciblant ce vecteur damp;rsquoattaque peut le faire, empêchant ainsi le nouveau contenu de se synchroniser avec le site. Échéancier première tentative de contact (Échec) – 4 décembre deuxième tentative de contact – 11 décembre note de lamp;rsquoauteur rapport – 15 décembre version 1.7.0 publié le 5 janvier nous avons signalé deux autres problèmes avec xss: 9 mars lamp;rsquoauteur reconnaît le deuxième rapport – 9 mars version 1.7.2 publié les conclusions le 11 mars Nous recommandons de vérifier la version actuelle du plug in patreon Connect utilisé sur le site et, si ce namp;rsquoest pas 1.7.2, de le mettre à jour dès que possible!
Jet
Nous nous efforçons de nous assurer que votre site Web namp;rsquoest pas affecté par de telles vulnérabilités. Pour prendre une longueur damp;rsquoavance sur toute nouvelle menace, consultez jetpack scan, qui inclut la sécurité Scan et la suppression automatique de logiciels malveillants. Grâce à George stephanies, fioravante Sosa, Miguel Netto, Benedict ngh et Mark montpas, cette divulgation de sécurité a été rendue possible.
Vulnérabilité trouvée dans le plug in patreon WordPress