Atvērtā platformā e-komercijas organizēšanai
Viena problēma ļauj neautentificētam lietotājam sasniegt JavaScript (XSS) izvietojumu, ko var izpildīt, skatot atcelto pirkumu vēsturi administratora saskarnē. Ievainojamības būtība ir iespēja apiet teksta tīrīšanas darbību, izmantojot funkciju escapeHtmlWithLinks(), apstrādājot piezīmi atcelšanas veidlapā norēķinu ekrānā (izmantojot tagu “a href=http://onmouseover=...” ligzdots citā tagā). Problēma izpaužas, izmantojot iebūvēto Authorize.Net moduli, kas tiek izmantots kredītkaršu maksājumu pieņemšanai.
Lai iegūtu pilnu kontroli, izmantojot JavaScript kodu veikala darbinieka pašreizējās sesijas kontekstā, tiek izmantota otra ievainojamība, kas ļauj ielādēt phar failu attēla aizsegā (
Interesanti, ka informācija par XSS problēmu Magento izstrādātājiem tika nosūtīta vēl 2018. gada septembrī, pēc tam novembra beigās tika izdots ielāps, kas, kā izrādījās, novērš tikai vienu no īpašajiem gadījumiem un ir viegli apiets. Janvārī papildus tika ziņots par iespēju lejupielādēt Phar failu attēla aizsegā un parādīts, kā divu ievainojamību kombinācija var tikt izmantota, lai kompromitētu interneta veikalus. Marta beigās Magento 2.3.1,
2.2.8 un 2.1.17 novērsa problēmu ar Phar failiem, bet aizmirsu XSS labojumu, lai gan problēmas biļete tika aizvērta. Aprīlī XSS parsēšana tika atsākta, un problēma tika novērsta 2.3.2., 2.2.9. un 2.1.18. laidienā.
Jāpiebilst, ka šie laidieni arī novērš 75 ievainojamības, no kurām 16 ir novērtētas kā kritiskas, un 20 problēmas var izraisīt PHP koda izpildi vai SQL aizstāšanu. Lielāko daļu kritisko problēmu var veikt tikai autentificēts lietotājs, taču, kā parādīts iepriekš, autentificētas darbības var viegli sasniegt, izmantojot XSS ievainojamības, no kurām vairāki desmiti ir laboti norādītajos laidienos.
Avots: opennet.ru