Pe o platformă deschisă pentru organizarea comerțului electronic , care deține aproximativ din piața sistemelor pentru crearea magazinelor online, vulnerabilități, combinația căror permite efectuarea unui atac pentru a rula codul său pe server, obținerea controlului total asupra magazinului online și organizarea redirecționării plăților. Vulnerabilitățile în versiunile Magento 2.3.2, 2.2.9 și 2.1.18, în care au fost eliminate în total 75 de probleme legate de securitate.
Una dintre probleme permite unui utilizator neautentificat să provoace plasarea unui cod JavaScript (XSS), care poate fi executat când se vizualizează jurnalul cumpărăturilor anulate în interfața de administrare. Esența vulnerabilității constă în posibilitatea de a ocoli operațiunea de curățare a textului prin funcția escapeHtmlWithLinks() în procesarea notei în formularele de anulare pe ecranul de început al finalizării achiziției (utilizarea unui tag în interiorul altui tag). Problema apare la utilizarea modulului încorporat Authorize.Net, prin care se acceptă plăți cu carduri de credit.
Pentru a obține control total prin intermediul codului JavaScript în contextul sesiunii curente a angajatului magazinului, este exploatată a doua vulnerabilitate, care permite încărcarea unui fișier phar sub forma unei imagini ( «Deserializarea Phar»). Fișierul Phar poate fi încărcat printr-un formular de inserare a imaginilor în editorul WYSIWYG încorporat. Obținând executarea codului său PHP, atacatorul poate apoi modifica detaliile plăților sau organiza interceptarea informațiilor despre cardurile de credit ale clienților.
Interesant este că informațiile despre problema XSS au fost trimise dezvoltatorilor Magento încă din septembrie 2018, după care, la sfârșitul lunii noiembrie, a fost lansat un patch, care, se pare, rezolvă doar unul dintre cazurile particulare și poate fi evitat cu ușurință. În ianuarie, a fost raportată în plus posibilitatea încărcării unui fișier Phar sub forma unei imagini și s-a arătat cum combinația celor două vulnerabilități poate fi utilizată pentru a compromite magazinele online. La sfârșitul lunii martie, în Magento 2.3.1,
2.2.8 și 2.1.17 a fost rezolvată problema cu fișierele Phar, dar reparația XSS a fost uitată, deși ticketul despre problemă a fost închis. În aprilie, analiza XSS a fost reluată și problema a fost rezolvată în versiunile 2.3.2, 2.2.9 și 2.1.18.
Este important de menționat că în versiunile menționate au fost remediate 75 de vulnerabilități, dintre care 16 au fost clasificate cu un nivel de risc critic, iar 20 de probleme pot duce la executarea codului PHP sau la injectarea de comenzi SQL. Majoritatea problemelor critice pot fi exploatate doar de utilizatori autentificați, dar așa cum s-a arătat mai sus, obținerea unei sesiuni autentificate nu este dificilă utilizând vulnerabilitățile XSS, dintre care în versiunile menționate au fost remediate câteva zeci.
Sursa: opennet.ro
