Aunque la vulnerabilidad la localicé el año pasado. Mitre ha decidido asignármela este año 2018. El CVE se basa en un Cross-site scripting en el plugin «SagePay Server Gateway for WooCommerce» versión 1.0.7.
Esta vulnerabilidad se encuentra en el parámetro «page» en el archivo»/wp-content/plugins/sagepay-server-gateway-for-woocommerce/includes/pages/redirect.php» que carece de unos métodos correctos de filtrado.
<?php $res = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">' . '<html><head>' . '<script type="text/javascript"> function OnLoadEvent() { document.form.submit(); }</script>' . '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />' . '<title>3D-Secure Redirect</title></head>' . '<body OnLoad="OnLoadEvent();">' . '<form name="form" action="'. urldecode($_GET["page"]) . '" method="POST" target="_top" >' . '<noscript>' . '<center><p>Please click button below to Authenticate your card</p><input type="submit" value="Go"/></p></center>' . '</noscript>' . '</form></body></html>'; echo $res; ?>
En la siguiente captura se comprueba que la ejecución de código se realiza correctamente.
- Agradecimiento del desarrollador:
https://wordpress.org/support/topic/sagepay-server-gateway-for-woocommerce-1-0-7-cross-site-scripting/#post-9792337 - Publicación en Packetstormsecurity:
https://packetstormsecurity.com/files/145459/WordPress-Sagepay-Server-Gateway-For-WooCommerce-1.0.7-XSS.html - CVE:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5316