Vulnerabilità in Easy SMTP Plugin WP

WordPress Easy WP SMTP: è stata scoperta una vulnerabilità del plugin. E’ richiesto l’aggiornamento.

Come al solito durante il fine settimana, mentre le persone normali cercano di distrarsi dal solito tran tran quotidiano e lavorativo è stata scoperta una vulnerabilità nel famoso plugin WordPress Easy WP SMTP. Il plug-in consente agli utenti di configurare le connessioni SMTP per le e-mail in uscita ed è molto famoso ed usato. La vulnerabilità è presente solo nella versione 1.3.9 del plug-in e tutti gli utilizzatori del plugin dovrebbero aggiornare alla 1.3.9.1 il più rapidamente possibile per risolvere il problema.

Questa vulnerabilità è sotto attacco e viene utilizzata da hacker malintenzionati per stabilire in modo massivo il controllo amministrativo dei siti interessati.

Controlli di accesso insufficienti

La radice della vulnerabilità è nella funzionalità di importazione / esportazione che è stata aggiunta a Easy WP SMTP nella versione 1.3.9. Il nuovo codice risiede nel admin_inithook del plugin  , che viene eseguito in  wp-admin/script come  admin-ajax.php e  admin-post.php.

$is_import_settings = filter_input( INPUT_POST, 'swpsmtp_import_settings', FILTER_SANITIZE_NUMBER_INT );
if ( $is_import_settings ) {
  $err_msg = __( 'Error occurred during settings import', 'easy-wp-smtp' );
  if ( empty( $_FILES[ 'swpsmtp_import_settings_file' ] ) ) {
      echo $err_msg;
      wp_die();
  }
  $in_raw = file_get_contents( $_FILES[ 'swpsmtp_import_settings_file' ][ 'tmp_name' ] );
  try {
      $in = unserialize( $in_raw );
      if ( empty( $in[ 'data' ] ) ) {
          echo $err_msg;
          wp_die();
      }
      if ( empty( $in[ 'checksum' ] ) ) {
          echo $err_msg;
          wp_die();
      }
      if ( md5( $in[ 'data' ] ) !== $in[ 'checksum' ] ) {
          echo $err_msg;
          wp_die();
      }
      $data = unserialize( $in[ 'data' ] );
      foreach ( $data as $key => $value ) {
          update_option( $key, $value );
      }
      set_transient( 'easy_wp_smtp_settings_import_success', true, 60 * 60 );
      $url = admin_url() . 'options-general.php?page=swpsmtp_settings';
      wp_safe_redirect( $url );
      exit;

Quando questo hook si attiva, il plugin verifica l’esistenza del parametro POST  swpsmtp_import_settings. Se questo parametro è impostato su 1, si presume che sia in corso un’importazione e si verifichi il caricamento di un file come swpsmtp_import_settings_file. I contenuti del file caricato non sono serializzati e  update_optionvengono eseguiti su ogni coppia chiave / valore specificata.

E qui si presentano i problemi.

Innanzitutto non vengono eseguiti controlli di accesso durante questo processo, quindi un utente malintenzionato non ha bisogno di autorizzazioni speciali: esegue e basta.

Quindi,  il codice potrebbe venire eseguito anche da utenti non autenticati alla Dashboard, poiché questa chiamata viene eseguita anche per sessioni disconnesse.

Quindi, un input “sporco” viene passato a  unserialize(), che crea una vulnerabilità di injection object .

Infine, tutte le opzioni fornite dall’utente vengono aggiornate. Ciò consente a un utente malintenzionato di modificare qualsiasi valore nella tabella wp_options di un sito ,  quindi qualsiasi settings del sito.

Come difendersi da tali attacchi

Gli attacchi contro questa vulnerabilità sono diffusi e possono garantire il pieno controllo dei siti vulnerabili agli aggressori. Come sempre, è importante che gli utenti aggiornino regolarmente i propri plug-in per applicare le patch di sicurezza per vulnerabilità. La versione 1.3.9.1 di Easy WP SMTP impedisce l’accesso non autenticato allo script, oltre a limitare i possibili danni ed intrusioni.

Per gli utilizzatori del CMS WordPress: se ritieni che il tuo sito possa essere stato compromesso a causa di questa o di qualsiasi altra vulnerabilità, puoi contattarmi per effettuare un controllo e la  pulizia del sito. Altrimenti, poni la tua attenzione ai seguenti indicatori (IOC):

  • Traffico registrato dai seguenti IP:
    • 185.212.131.45
    • 185.212.128.22
    • 185.212.131.46
    • 86.109.170.200
  • Nel Database nella tabella options le chiavi siteurle  home non avranno valori previsti, e potrebbero essere i seguenti:
    • setforconfigplease[.]com
    • getmyfreetraffic[.]com
  • Account con ruolo di amministratore presenti per utenti sconosciuti. Per esempio:
    • devidpentesting99
    • larryking99
  • <script>Tag dannosi  iniettati nella prima riga di  index.phpfile. Per esempio:
    • <script type='text/javascript' async src='hXXps://setforspecialdomain[.]com/in2herg42t2?type=in2&frm=scr&'></script>

Come si può evincere da tutto questo, il tempo che intercorre tra la pubblicazione di dettagli sulla vulnerabilità e il primo round di attacchi può essere incredibilmente breve.

Chiunque, potrebbe essere esposto a questo attacco e quindi… aggiornate… aggiornate… aggiornate!

Hai un problema con il web?

Il tuo sito internet non vuole funzionare?

Vuoi rinnovarlo o sistemarlo?

Hai un’idea di integrazione ma non sai se è possibile realizzarla o meno?

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti qui sotto ti lascio un bottone, con il quale puoi lasciare la recensione direttamente su Google My Business.

    Lascia una recensione su Google