Rilasciati aggiornamenti che risolvono vulnerabilità critiche in Magento 1.x e 2.x

29/03/2019

CMS Magento Vulnerabilità

Il team di sicurezza di Magento ha emesso in data 26 Marzo 2019 un avviso di sicurezza relativo a 37 nuove vulnerabilità riscontrate nelle versioni precedenti alla 2.3.1 del CMS. Magento è uno dei CMS open source per l’e-commerce più popolari. Lanciato nel 2008 e di proprietà della Adobe dalla metà del 2018, oggi è utilizzato da circa il 28% dei portali web di commercio elettronico.

Uno dei problemi più gravi che interessano Magento, è una vulnerabilità di SQL Injection che potrebbe essere sfruttata per attacchi remoti non autenticati, e quindi consentire agli attaccanti di rubare informazioni sensibili presenti nei database dei siti di e-commerce vulnerabili, incluse sessioni di amministrazione e password hash. Questo bug può essere risolto immediatamente installando la patch PRODSECBUG-2198, ma è consigliabile aggiornare Magento Commerce o Open Source alla versione 2.3.1 o 2.2.8 in modo da risolvere tutte le altre problematiche. Infatti, oltre alla vulnerabilità SQLi, Magento presenta vulnerabilità di tipo cross-site request forgery (CSRF), cross-site scripting (XSS) e remote code execution (RCE) e altri. Per lo sfruttamento è richiesta, fortunatamente nella maggior parte dei casi, l’autenticazione sul sito con un certo livello di privilegi.

Dettagli della vulnerabilità risolte

Le vulnerabilità, i cui CVSSv3 Severity presentano valori tra 3.1 e 9.8, non hanno un CVE associato, ma sono tutte etichettate internamente con il codice “PRODSECBUG-XXXX”. Inoltre, considerata la tipologia di dati sensibili gestiti dai portali, il team di Magento non ha ritenuto di dover diffondere i dettagli tecnici delle varie vulnerabilità.

  • PRODSECBUG-2192: Remote code execution though crafted newsletter and email templates. La vulnerabilità riguarda l’esecuzione di codice da remoto da parte di un utente autenticato con privilegi di “create newsletter” o “create email templates” attraverso l’inclusione di codice all’interno di un post di una newsletter o di un modello mail.
  • PRODSECBUG-2287: Remote code execution through email template.
  • PRODSECBUG-2236: SQL Injection and cross-site scripting vulnerability in Catalog section (XSS).
  • PRODSECBUG-2198: SQL Injection vulnerability through an unauthenticated user
  • PRODSECBUG-2261: Arbitrary code execution due to unsafe deserialization of a PHP archive
  • PRODSECBUG-2263: Arbitrary code execution due to the unsafe handling of an API call to a core bundled extension. (Magento Shipping)
  • PRODSECBUG-2256: Arbitrary code execution due to unsafe deserialization of a PHP Archive
  • PRODSECBUG-2165: Sensitive data disclosure due to NGINX configuration’s regular expressions not being restricted to the explicit directories
  • PRODSECBUG-2053: Cross Site Scripting in newsletter template name
  • PRODSECBUG-2181: Stored cross-site scripting in the Admin Customer Segments area
  • PRODSECBUG-2207: Unauthorized implementation due to bypassing the need for administrator authentication approval on B2B accounts
  • PRODSECBUG-2162: Unauthorized data control due to a bypass of authentication controls for a customer using a web API endpoint
  • PRODSECBUG-2277: SQL injection due to inadequate validation of user input
  • PRODSECBUG-2134: Reflected cross-site scripting vulnerability in the Admin through the requisition list ID
  • PRODSECBUG-2178: Stored cross-site scripting in the admin panel via the Admin Shopping Cart Rules page
  • PRODSECBUG-2195: Deletion of a product attribute through cross-site request forgery
  • PRODSECBUG-2140: Site map deletion through cross-site request forgery
  • PRODSECBUG-2130: Deletion of synonym groups through a cross-site request forgery vulnerability
  • PRODSECBUG-2184: Stored cross-site scripting in the admin panel via the Terms & Conditions with Checkbox Text field in the admin panel.
  • PRODSECBUG-2097: Stored cross-site scripting in the Admin through the Admin Notification function
  • PRODSECBUG-2043: Stored cross-site scripting vulnerability in Admin product names
  • PRODSECBUG-2135: Stored cross-site scripting in the Admin through B2B packages
  • PRODSECBUG-2028: Stored cross-site scripting vulnerability in the Admin **Stores** > **Attributes** > **Product **configuration area
  • PRODSECBUG-2038: Stored cross-site scripting vulnerability in the Admin through the Checkbox Custom Option Value field
  • PRODSECBUG-2133: Stored cross-site scripting vulnerability in the Admin through B2B packages
  • PRODSECBUG-2229: Stored cross-site scripting in the admin panel via the Attribute Label for Media Attributes section
  • PRODSECBUG-2126: Reflected cross-site scripting through manipulation of the Admin notification feed URL.
  • PRODSECBUG-2035: Stored cross-site scripting in the Admin Catalog configuration section
  • PRODSECBUG-2168: Stored cross-site scripting in the Admin panel through the product configurations section
  • PRODSECBUG-1985: WYSIWYGPRODSECBUG-2104: Missing CAPTCHA on Send to a friend page
  • PRODSECBUG-1883: Information disclosure in Magento 2.x default configuration
  • PRODSECBUG-2228: Sensitive Data Disclosure due toInsecure Direct Object References vulnerability
  • PRODSECBUG-2019: Spam using share a wishlist functionality
  • PRODSECBUG-2197: Admin credentials are logged in exception reports
  • PRODSECBUG-2213: Unauthorized access to wishlist via Insecure direct object reference in the application.
  • PRODSECBUG-2016: HTML injection vulnerability due to insufficient data validation

Versioni impattate

Le versioni di Magento interessate sono:

  • Magento Open Source precedente alla 1.9.4.1
  • Magento Commerce precedente alla 1.14.4.1
  • Magento Commerce 2.1 precedente alla 2.1.17
  • Magento Commerce 2.2 precedente alla 2.2.8
  • Magento Commerce 2.3 precedente alla 2.3.1

Remediation

Installare gli aggiornamenti per Magento versioni 1.x e 2.x. Per maggiori dettagli sulle vulnerabilità, sui prodotti affetti e sugli aggiornamenti disponibili, si consiglia la consultazione dell’avviso di sicurezza rilasciato dal Team Magento.