På den åbne platform til e-handel , der dækker cirka markedet for systemer til oprettelse af netbutikker, sårbarheder, hvis kombination muliggør en angreb for at udføre sin egen kode på serveren, opnå fuld kontrol over netbutikken og organisere omdirigering af betalinger. Sårbarhederne i versionerne Magento 2.3.2, 2.2.9 og 2.1.18, hvor i alt 75 sikkerhedsrelaterede problemer er blevet løst.
Et af problemerne muliggør, at en uautentificeret bruger kan placere JavaScript-kode (XSS), der kan udføres, når man ser loggen over annullerede køb i administratorgrænsefladen. Essensen af sårbarheden ligger i muligheden for at omgå tekstrensningsoperationen ved hjælp af funktionen escapeHtmlWithLinks() ved behandling af bemærkningen i annulleringsformularen på starten af købsscreenen (ved at anvende en indlejret tag). Problemet opstår ved brug af den indbyggede Authorize.Net-modul, hvormed betalinger med kreditkort accepteres.
For at opnå fuld kontrol ved hjælp af JavaScript-kode i konteksten af den nuværende butikssærsession udnyttes en anden sårbarhed, der muliggør upload af en phar-fil som om det var et billede ( „Phar deserialisering”). Phar-filen kan uploades via billedindsætningsformen i den indbyggede WYSIWYG-editor. Når angriberen har udført sin PHP-kode, kan han så ændre betalingsoplysninger eller organisere opsnapning af kundernes kreditkortinformation.
Det er interessant, at oplysninger om XSS-problemet blev sendt til Magento-udviklerne allerede i september 2018, hvorefter der i slutningen af november blev udgivet en patch, der viste sig blot at rette én enkeltstående tilfælde, og som let kan omgås. I januar blev det desuden rapporteret om muligheden for at uploade en Phar-fil som et billede og vist, hvordan kombinationen af de to sårbarheder kan bruges til at kompromittere netbutikker. I slutningen af marts blev problemet med Phar-filer løst i Magento 2.3.1,
2.2.8 og 2.1.17, men XSS-fix blev glemt, selvom billetten om problemet var blevet lukket. I april blev XSS-analyserne genoptaget, og problemet blev løst i versionerne 2.3.2, 2.2.9 og 2.1.18.
Det skal bemærkes, at der i de nævnte udgivelser også er rettet 75 sårbarheder, hvoraf niveauet for 16 er markeret som kritisk, og 20 problemer kan føre til udførelse af PHP-kode eller indsættelse af SQL-operationer. De fleste kritiske problemer kan kun udføres af en godkendt bruger, men som nævnt ovenfor er det ikke svært at få udført godkendte operationer ved hjælp af XSS-sårbarheder, som der i de nævnte udgivelser er rettet op på flere dusin.
Kilde: opennet.ru
