Dodatak dizajniran da zakrpi sigurnosne propuste u starijim verzijama Shopware-a i sam je ranjiv na napade SQL injekcije.
Greška, otkrivena u Shopware Security Plugin 6 verziji 2.0.10, utiče na Shopware instalacije ispod verzija 6.5.8.13 i 6.6.5.1, potencijalno dozvoljavajući napadačima da kompromituju sisteme baza podataka sa dozvolama za čitanje i pisanje.
Ranjivost proizilazi iz nepotpunog popravka za prethodno poznate probleme sa SQL injekcijom (CVE-2024-22406 i CVE-2024-42357).
Dok je sigurnosni dodatak trebao retrospektivno zakrpiti ove ranjivosti u starijim verzijama Shopwarea, implementacija je ostavila sisteme izložene kroz ugnježđene API zahtjeve.
Ovaj previd stvara značajan sigurnosni jaz za platforme e-trgovine koje se oslanjaju na dodatak za zaštitu dok odgađaju nadogradnju pune verzije.
Napadi ubrizgavanjem SQL-a omogućavaju hakerima da manipulišu upitima baze podataka, što potencijalno dovodi do neovlaštenog pristupa osjetljivim podacima o klijentima, zapisima transakcija ili čak potpunom kompromitovanju sistema.
Ozbiljnost varira ovisno o tome koji korisnici imaju pristup Shopware API-jima, s tim da je rizik posebno visok ako su krajnje točke Store API-ja povezane s pretraživanjem javno izložene.
Istraživači Red Team Pentesting-a identifikovali su ranjivost 12. februara 2025. godine, napominjući da, iako sigurnosni dodatak ispravno zakrpi ranjivost u polju imena objekata agregacije, ne uspijeva sanirati ugnježđene objekte agregacije koji se mogu koristiti rekurzivno.
Ranjiva putanja
Ovaj previd stvara put koji se može iskoristiti za napadače koji imaju pristup ili Shopware Store API-ju ili Admin API-ju.
Tehnička ranjivost postoji u načinu na koji dodatak rukuje poljima agregacije koja se koriste u krajnjim tačkama API-ja kao što je “/api/search/order”. Sljedeći isječak koda pokazuje nepotpunu popravku u sigurnosnom dodatku :-
class PatchedAggregationParser extends AggregationParser
{
public function buildAggregations(EntityDefinition $definition, array $payload, Criteria $criteria, SearchRequestException $searchRequestException): void
{
parent::buildAggregations($definition, $payload, $criteria, $searchRequestException);
foreach ($criteria->getAggregations() as $i => $aggregation) {
if (str_contains($aggregation->getName(), '?') || str_contains($aggregation->getName(), ':')) {
$searchRequestException->add(new InvalidAggregationQueryException('Invalid character in aggregation name'));
}
}
}
}
Foreach petlja samo provjerava najviše polje imena agregacija, dozvoljavajući napadačima da ubace simbole poput “?” ili “:” u ugnježđenim objektima agregacije.
Napadači to mogu iskoristiti kreiranjem posebno dizajniranih upita koji manipulišu bazom podataka kroz pripremljene mehanizme izjava.
Shopware je objavio Security Plugin 6 verziju 2.0.11 kako bi riješio ovu ranjivost.
Alternativno, korisnici mogu nadograditi na Shopware 6.5.8.13 ili 6.6.5.1, koji rješavaju problem neovisno o sigurnosnom dodatku. S obzirom na potencijal za eskalaciju privilegija i kompromitaciju podataka, snažno se preporučuje trenutno zakrpe.
Izvor: CyberSecurityNews