U otvorenoj platformi za e-trgovinu
Jedan od problema omogućava neautorizovanom korisniku da postigne postavljanje JavaScript koda (XSS), koji se može izvršiti prilikom pregleda istorije otkazanih kupovina u admin interfejsu. Suština ranjivosti je mogućnost zaobilaženja operacije čišćenja teksta pomoću funkcije escapeHtmlWithLinks() prilikom obrade bilješke u obrascu za otkazivanje na početnom ekranu za naplatu (pomoću ugniježđene oznake “a href=http://onmouseover=…” u drugoj oznaci). Problem se manifestuje kada se koristi ugrađeni modul Authorize.Net koji se koristi za prihvatanje plaćanja kreditnim karticama.
Za potpunu kontrolu korištenjem JavaScript koda u kontekstu trenutne sesije zaposlenika trgovine, iskorištava se druga ranjivost koja omogućava učitavanje phar datoteke prerušene u sliku (
Zanimljivo, informacije o XSS problemu poslate su Magento programerima još u septembru 2018. godine, nakon čega je krajem novembra objavljena zakrpa koja, kako se ispostavilo, eliminiše samo jedan od posebnih slučajeva i lako se zaobilazi. U januaru je dodatno objavljena mogućnost preuzimanja Phar fajla pod krinkom slike i pokazano je kako se kombinacija ove dvije ranjivosti može iskoristiti za kompromitaciju online prodavnica. Krajem marta u Magentu 2.3.1,
2.2.8 i 2.1.17 popravili su problem sa Phar datotekama, ali su zaboravili XSS ispravku iako je tiket problema zatvoren. U aprilu je XSS raščlanjivanje nastavljeno i problem je popravljen u izdanjima 2.3.2, 2.2.9 i 2.1.18.
Treba napomenuti da su ova izdanja također popravila 75 ranjivosti, od kojih je 16 označeno kao kritično, a 20 problema može dovesti do izvršavanja PHP koda ili SQL zamjene. Većinu kritičnih problema može izvršiti samo autentifikovani korisnik, ali kao što je gore prikazano, autentifikovane operacije nije teško postići sa XSS ranjivostima, od kojih je desetine popravljeno u označenim izdanjima.
izvor: opennet.ru