Vulnérabilité trouvée dans le plug – in patreon WordPress
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 à l’auteur du plug – in, qui a immédiatement publié la version 1.7.2 pour corriger tous ces problèmes. Si vous utilisez une version antérieure du plug – in, mettez – le à jour maintenant! Veuillez continuer à lire tous les détails techniques. Si c’est ce que tu penses, ne t’inquiète pas. Nous fournissons jetpack Scan pour gérer la numérisation des logiciels malveillants et les mises à jour ou suppressions automatiques pour vous.
Notre équipe a identifié divers vecteurs d’attaque, 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é qu’un 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 d’effectuer des actions spécifiques au nom d’utilisateurs insoupçonnés en cliquant sur des liens malveillants soigneusement construits.
En cas d’attaque, 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: < 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['patron_only_image'] ) ) {
$image = $_REQUEST['patron_only_image'];
}
if ( !$image OR $image == '') {
// This is not a rewritten image request. Exit.
return;
}
if ( !( isset( $_REQUEST['patreon_action'] ) AND $_REQUEST['patreon_action'] == 'serve_patron_only_image' ) ) {
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['baseurl'] ) , 1 );
$image = get_site_url() . '/' . $upload_dir . '/' . $image;
if ( current_user_can( 'manage_options' ) ) {
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( 'ptrn/bypass_image_filtering', defined( 'PATREON_BYPASS_IMAGE_FILTERING' ) ) ) {
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: < 1.7.2 ID CVE: CVE-2021-24228 CVSSv3: 8.8 CCSS: 80.6 public static function processPatreonMessages() {
$patreon_error = '';
if ( isset( $_REQUEST['patreon_error'] ) ) {
// If any specific error message is sent from Patreon, prepare it
$patreon_error = ' – Patreon returned: ' . $_REQUEST['patreon_error'];
}
if ( isset( $_REQUEST['patreon_message'] ) ) {
return '
‘;
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 d’enregistrement des erreurs en coulisse permet à l’utilisateur de contrôler l’entrée sur la page d’atterrissage 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 d’attaque, 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 d’accéder au site Web et au contenu payant. Csrf qui permet à un attaquant de déconnecter un site d’une version affectée par patreon: $ Valeur)
Supprimer _ option ($options to delete [$Key]);
}
Options de mise à jour (« version de l’API d’installation du modèle», « 2»);
Mise à jour _ option (‘pateon – can – use – API – v2’, True);
WP _ redirection (Admin URL (‘admin.php? Page = pateon WordPress Setup Wizard & Setup stage = reconnect 0’);
Exportations
}
Ceci est similaire à la dernière vulnérabilité, car il s’agit du même type d’attaque (csrf), mais la cible est l’Administrateur. Ce vecteur d’attaque 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 d’attaque 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 l’auteur rapport – 15 décembre version 1.7.0 publié le 5 janvier nous avons signalé deux autres problèmes avec xss: 9 mars l’auteur reconnaît le deuxième rapport – 9 mars version 1.7.2 publié les conclusions le 11 mars Nous vous recommandons de vérifier la version actuelle du plug – in patreon Connect utilisé sur le site et, si ce n’est pas 1.7.2, de le mettre à jour dès que possible!
Jet
Nous nous efforçons de nous assurer que votre site Web n’est pas affecté par de telles vulnérabilités. Pour prendre une longueur d’avance 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 Singh et Mark montpas, cette divulgation de sécurité a été rendue possible.