
Introduzione
Il 7 maggio 2024, WP-Firewall, un'organizzazione leader nella consulenza sulla sicurezza, ha pubblicato un rapporto dettagliato sulle vulnerabilità critiche scoperte nel plugin Uncode Core. Se sei un utente Uncode, è fondamentale aggiornare il tuo plugin core almeno alla versione 2.8.9 per proteggere il tuo sito WordPress da potenziali attacchi. Questo post approfondirà le specifiche di queste vulnerabilità, le loro implicazioni e i passaggi intrapresi per mitigarle.
Informazioni sul plugin Uncode Core
Il plugin Uncode Core, sviluppato da Undsgn, è un componente essenziale del tema Uncode, un tema premium molto popolare per i siti WooCommerce, con oltre 110.000 vendite su ThemeForest. Il tema Uncode è rinomato per il suo design pixel-perfect, che lo rende ideale per vari siti web, tra cui portfolio, agenzie, freelance, blog e negozi online.
Le vulnerabilità della sicurezza
I ricercatori di sicurezza di WP-Firewall hanno identificato due vulnerabilità significative nel plugin Uncode Core:
1. Eliminazione arbitraria autenticata di file e directory
Descrizione: Questa vulnerabilità consente a qualsiasi utente autenticato con almeno un ruolo di Subscriber di eliminare directory arbitrarie sul server. Il problema risiede nella funzione `delete_download`, che non dispone di controlli appropriati di autorizzazione e nonce. Questa funzione è associata all'azione `wp_ajax_uncodefont_delete_download`, rendendo possibile agli utenti autenticati di sfruttarla.
Dettagli tecnici:
funzione delete_download() {
	se (isset($_REQUEST['font_family'])) {
		$font_family = $_REQUEST['font_family'];
		$font_dir = trailingslashit($this->font_directory).$font_family;
		$fontkit_zip = $font_dir.'.zip';
		se (@file_exists($fontkit_zip)) {
			se (!@unlink($fontkit_zip)) {
				echo json_encode(array(
					'errore' => sprintf( esc_html__( 'Impossibile eliminare @fontface kit zip %1$s.', 'uncode-core' ), $fontkit_zip )
				));
				morire();
			}
		}
		// Impossibile eliminare la directory, perché unzip_file, che l'ha creata, usa WP_Filesystem. Quindi usiamo WP_Filesystem per eliminarla.
		$this->setup_wp_filesystem();
		filesystem globale $wp;
		se (isset($wp_filesystem)) {
			$delete_dir = $wp_filesystem->delete($font_dir, true);
			se (!$delete_dir) {
				echo json_encode(array('errore' => $delete_dir['errore']));
				morire();
			}
		}
		echo json_encode(array('success' => "Download eliminato"));
	}
	morire();
}include/font-system/font-system.php, funzione delete_download()La funzione costruisce la variabile `$font_dir` dall'input dell'utente (`$_REQUEST['font_family']`) senza sanificazione, consentendo l'attraversamento delle directory e l'eliminazione arbitraria.
2. Escalation dei privilegi autenticati
Descrizione: Questa vulnerabilità consente a qualsiasi utente autenticato con un minimo di ruolo di Subscriber di aumentare i propri privilegi a qualsiasi ruolo sul sito WordPress. Ciò è dovuto a un aggiornamento non sicuro di WP Option nella funzione `save_option`, che non dispone di controlli di autorizzazione appropriati.
Dettagli tecnici:
funzione pubblica save_option() {
	se ( isset( $_POST['nonce'] ) && wp_verify_nonce( $_POST['nonce'], 'impostazioni-uncode-core-nonce' ) ) {
		se ( isset( $_POST['valore'] ) && $_POST['valore'] && isset( $_POST['option_id'] ) && $_POST['option_id'] ) {
			$autoload = isset( $_POST['autoload'] ) && $_POST['autoload'] === 'vero' ? vero : falso;
			update_option( $_POST['option_id'], $_POST['value'], $autoload );
---------- TAGLIA QUI ----------include/core-settings/class-core-settings.php, funzione save_option()Il nonce utilizzato in questa funzione può essere recuperato da qualsiasi utente autenticato con accesso all'area wp-admin, consentendo aggiornamenti non autorizzati alle opzioni e l'escalation dei privilegi.
La toppa
Per risolvere queste vulnerabilità, gli sviluppatori del plugin Uncode Core hanno rilasciato la versione 2.8.9, che include le seguenti correzioni:
– Eliminazione arbitraria autenticata di file e directory: Implementati i controlli dei permessi e del nonce nella funzione `delete_download`.
– Escalation dei privilegi autenticata: Sono stati applicati controlli di autorizzazione e nonce nella funzione `save_option` e aggiunto un controllo di whitelist per le chiavi di opzione.
Conclusione
Garantire la sicurezza del tuo sito WordPress implica rimanere aggiornato con le ultime patch e avvisi di sicurezza. Le vulnerabilità nel plugin Uncode Core sottolineano l'importanza di implementare controlli appropriati di autorizzazione e nonce per qualsiasi azione sensibile. Sanifica sempre gli input degli utenti e limita l'ambito di ciò che può essere aggiornato o eliminato tramite azioni degli utenti.
Per informazioni più dettagliate, puoi leggere l'avviso di sicurezza completo sul sito web di WP-Firewall Qui.
Rimani al sicuro
WP-Firewall offre varie soluzioni per la sicurezza di WordPress, tra cui auditing dei plugin, monitoraggio e risposta alle vulnerabilità e servizi di sicurezza WordPress gestiti. Se sei uno sviluppatore di plugin o un ricercatore di sicurezza, prendi in considerazione l'idea di unirti a WP-Firewall.
 
					 
					
 Italiano
 Italiano		 English
 English         简体中文
 简体中文         香港中文
 香港中文         繁體中文
 繁體中文         日本語
 日本語         Español
 Español         Français
 Français         العربية
 العربية         हिन्दी
 हिन्दी         বাংলা
 বাংলা         한국어
 한국어         Português
 Português         Nederlands
 Nederlands         Tiếng Việt
 Tiếng Việt         Русский
 Русский         Polski
 Polski         Deutsch
 Deutsch         Dansk
 Dansk