I en åben e-handelsplatform
Et af problemerne gør det muligt for en uautoriseret bruger at opnå placeringen af JavaScript-kode (XSS), som kan udføres, når man ser historikken for annullerede køb i admin-grænsefladen. Essensen af sårbarheden er evnen til at omgå tekstrensningsoperationen ved hjælp af escapeHtmlWithLinks()-funktionen, når du behandler en note i annulleringsformularen på checkout-startskærmen (ved hjælp af "a href=http://onmouseover=..." tagget indlejret i et andet tag). Problemet viser sig ved brug af det indbyggede modul Authorize.Net, som bruges til at modtage betalinger med kreditkort.
For at få fuld kontrol ved hjælp af JavaScript-kode i forbindelse med den aktuelle session for en butiksmedarbejder, udnyttes en anden sårbarhed, som gør det muligt at indlæse en phar-fil forklædt som et billede (
Interessant nok blev oplysninger om XSS-problemet sendt til Magento-udviklere tilbage i september 2018, hvorefter der blev frigivet en patch i slutningen af november, som, som det viste sig, kun eliminerer et af de særlige tilfælde og let kan omgås. I januar blev muligheden for at downloade en Phar-fil under dække af et billede yderligere rapporteret, og det blev vist, hvordan kombinationen af de to sårbarheder kan bruges til at kompromittere netbutikker. I slutningen af marts i Magento 2.3.1,
2.2.8 og 2.1.17 løste problemet med Phar-filer, men glemte XSS-rettelsen, selvom udstedelsesbilletten blev lukket. I april genoptog XSS-parsing, og problemet blev rettet i udgivelser 2.3.2, 2.2.9 og 2.1.18.
Det skal bemærkes, at disse udgivelser også har rettet 75 sårbarheder, hvoraf 16 er markeret som kritiske, og 20 problemer kan føre til PHP-kodekørsel eller SQL-substitution. De fleste kritiske problemer kan kun udføres af en autentificeret bruger, men som vist ovenfor er godkendte operationer ikke vanskelige at opnå med XSS-sårbarheder, hvoraf dusinvis er blevet rettet i de markerede udgivelser.
Kilde: opennet.ru