Newspaper est un thème populaire de chez themeforest créé par Tagdiv, avec environ 95,000 ventes.
Reflected XSS
Nous avons trouvé dans le fichier functions.php une vulnérabilité de type XSS, permettant à un attaquant d’ajouter du code JavaScript dans le tableau de bord de l’administration.
if ( 'update-core' === $current_screen->id && isset( $_REQUEST['update_theme'] )) {
add_action('admin_head', function() {
$theme_name = $_REQUEST['update_theme'];
ob_start(); ?>
<script> jQuery(window).ready(function() {
'use strict';
var $formUpgradeThemes = jQuery('form[name="upgrade-themes"]'); if ( $formUpgradeThemes.length ) { var $input = $formUpgradeThemes.find('input[type="checkbox"][value="<?php echo $theme_name ?>"]'); if ($input.length) { $input.attr( 'checked', true ); $formUpgradeThemes.submit(); } } }); </script>
<?php echo ob_get_clean(); }); } });
La ligne 8 (383 dans functions.php) va juste lire le paramètre update_theme depuis l’URL du navigateur, puis en ligne 21 (395 dans functions.php) l’imprime tel quel, sans aucun échappement ni désinfection.
https://themeforest.net/item/newspaper/5489609
La version 10.3.4 corrige la faille, tenez vous à jour et vous êtes OK.
Créateur de SecuPress et de la Formation LearnWPSecurity, Julio est aussi organisateur du WordCamp Lille.
Orateur compulsif, formateur sénior et ingénieur WordPress, il s’est spécialisé dans la sécurité depuis 2002 et contribue à WordPress sous diverses formes.