GHSA-h2q4-7fp7-m5jp GHSA-p292-3rh4-vm4p GHSA-99cp-c6mm-p7h5 GHSA-wrmc-gmx5-9hhc GHSA-3f36-4qv4-vfgh GHSA-8rxw-79mh-gmm5 GHSA-hjwq-7qvv-qxj4 GHSA-2676-hc74-gg7v GHSA-r246-6gw4-pj3p GHSA-5p6p-mx64-96jf
PrestaShop 9.2.1 és 8.2.9 javítja a hitelesítést nem igénylő PHP-objektuminjektálást és további súlyos biztonsági hibákat
A PrestaShop 9.0.0-tól a 9.2.1 előtti verziókig, valamint a 8.0.0-tól a 8.2.9 előtti verziókig terjedő kiadásokat tíz súlyos biztonsági hiba érinti, köztük hitelesítést nem igénylő PHP-objektuminjektálás, a Webservice API jogosultságszint-emelése és tárolt XSS. Frissítsen a 9.2.1-es vagy a 8.2.9-es verzióra.
Mi történt
- november 9-én a PrestaShop tíz súlyos biztonsági közleményt adott ki. A legsúlyosabb a GHSA-h2q4-7fp7-m5jp azonosítójú hiba: amikor a telepítőmappa továbbra is elérhető, egy hitelesítést nem igénylő támadó meghamisíthatja a telepítő munkamenet-cookie-ját, és PHP-objektuminjektálást válthat ki, amellyel a webkiszolgáló felhasználójaként távoli kódvégrehajtást érhet el. Egy kapcsolódó telepítőhiba, a GHSA-8rxw-79mh-gmm5, lehetővé teszi, hogy egy hitelesítés nélküli látogató újra lefuttassa a telepítőt, kiolvassa az élő adatbázis hozzáférési adatait, felülírja az áruház konfigurációs fájlját, vagy egy támadó által választott adminisztrátori fiókkal újratelepítse az adatbázist.
Több hiba érinti a Webservice és az Admin API-kat. A GHSA-3f36-4qv4-vfgh lehetővé teszi, hogy egy adott áruházra korlátozott Webservice-kulcs minden áruházban műveleteket hajtson végre; a GHSA-hjwq-7qvv-qxj4 pedig lehetővé teszi, hogy egy adott áruházhoz tartozó kulcs bármely áruházban olvassa és módosítsa az ügyfélrekordokat, beleértve a jelszóhasheket is. A GHSA-wrmc-gmx5-9hhc lehetővé teszi a csatolmányok elérésiút-bejárását, így a letöltési könyvtáron kívüli fájlok olvashatók és törölhetők; a hiba a letöltési funkción keresztül bárki számára elérhető. Az api_client_write jogosultsággal rendelkező Admin API-kliens bármely telepített hatókört megadhat önmagának (GHSA-p292-3rh4-vm4p), ami modulfeltöltéshez és kódvégrehajtáshoz vezethet.
Az adminisztrációs felület hibái közé tartozik az SVG-feltöltésekkel megvalósítható tárolt cross-site scripting (XSS), valamint az e-mail-fordításokon keresztül történő tetszőleges fájlírás, ami távoli kódvégrehajtáshoz vezethet. Két versenyhelyzet lehetővé teszi, hogy egyetlen kosárból több azonos rendelés jöjjön létre, illetve hogy megkerüljék a kosárszabályok használati korlátait. A PrestaShop egyik hibáról sem jelentette, hogy éles környezetben aktívan kihasználták volna, és a közlemények megjelenése előtt egyiket sem hozták nyilvánosságra.
Kit érint
A biztonsági közlemények többsége a PrestaShop 9.0.0-tól a 9.2.1 előtti verziókig, valamint a 8.0.0-tól a 8.2.9 előtti verziókig terjedő verziókat érinti. A GHSA-p292-3rh4-vm4p kizárólag a 9.0.0-tól a 9.2.1 előtti verziókig terjedő verziókat érinti. A GHSA-8rxw-79mh-gmm5 a 8.2.9 előtti verziókat, továbbá a 9.0.0-tól a 9.2.1 előtti verziókig terjedő verziókat sorolja fel; a 9.2.0-s verziótól kezdve a telepítőmappa a sikeres telepítés után automatikusan törlődik, ezért az érintettség elsősorban ott áll fenn, ahol ez a törlés sikertelen volt, valamint azoknál a 8.x-es áruházaknál, ahol a mappát kézzel nem távolították el.
Mit kell most tenni
- Frissítsen a javított kiadásokra: a 9.x ágon lévő áruházak esetén a PrestaShop 9.2.1-re, a korábbi 8.x verziót használó áruházak esetén pedig a PrestaShop 8.2.9-re. A GHSA-p292-3rh4-vm4p hibát kizárólag a 9.2.1-es verzió javítja.
- Törölje a telepítőmappát a kiszolgálóról, miután az áruház telepítése befejeződött. Ha a mappa még mindig jelen van, ezt haladéktalanul tegye meg; ez a két hitelesítést nem igénylő telepítőhibát kezeli.
- Vizsgálja át a Webservice API-t. Ha nem használja, kapcsolja ki. A frissítés elvégzéséig minden, egy adott áruházra korlátozott kulcsot tekintsen úgy, mintha minden áruházra érvényes lenne; ne adjon csatolmányírási jogosultságot nem megbízható kulcsoknak, és ügyfelekre vonatkozó jogosultságokat csak teljes mértékben megbízható integrációknak adjon.
- Vizsgálja át az api_client_write jogosultsággal rendelkező Admin API-klienseket. Ezt a hatókört csak olyan klienseken tartsa meg, amelyek minden telepített hatókör szempontjából megbízhatók, a felesleges API-klienseket pedig törölje.
- Korlátozza az adminisztrációs felület jogosultságait: a fájlkezelői és a logófeltöltési jogosultságokat kizárólag teljes mértékben megbízható munkatársakra korlátozza; a „Fordítások szerkesztése” jogosultságot ugyanígy korlátozza.
- A fizetési folyamat két versenyhelyzetére nincs kerülő megoldás; a frissítés az egyetlen kockázatcsökkentő intézkedés.
Hogyan észlelhető
Ellenőrizze, hogy a telepítőmappa elérhető-e az áruházában; ettől függetlenül távolítsa el. Vizsgálja át a Webservice és az Admin API-kliensek hatóköreit, és keressen olyan kulcsokat, amelyek a szükségesnél több jogosultsággal rendelkeznek, továbbá ellenőrizze azokat az adminisztrációs felületi fiókokat, amelyek fájlokat tölthetnek fel vagy fordításokat szerkeszthetnek. Az e-mail-fordítások elérésiút-bejárásával kapcsolatban keressen váratlan fájlokat a webkiszolgáló felhasználója által írható könyvtárakban.
A javításon túl
Ezek a biztonsági közlemények azt mutatják, hogy a saját üzemeltetésű e-kereskedelem több támadási felületet hagyhat védtelenül, mint maga az áruházi felület: ilyen a visszamaradt telepítőmappa, a túlzott jogosultságú API-kulcsok és a pénztári logika versenyhelyzetei. A legsúlyosabb hibák akkor érhetők el hálózaton keresztül, hitelesítés nélkül, ha a telepítőmappa megmarad; ez pontosan az a kitettség, amelynek feltárásában a Virtuális CISO szolgáltatás (vCISO) segíthet. A Bevezetési és felmérési szolgáltatások keretében tesztelhetők az injektálási, deszerializációs és hitelesítési hibák még azelőtt, hogy biztonsági közlemény válnék belőlük. Amennyiben bármelyiket kihasználták, a Menedzselt kiberbiztonsági felügyelet (MDR) észleli az ezt követő kódvégrehajtást és a jogosultságokkal való visszaélést.
Érintett és javított verziók
| Termék | Érintett | Javítva |
|---|---|---|
| GHSA-h2q4-7fp7-m5jp, GHSA-99cp-c6mm-p7h5, GHSA-wrmc-gmx5-9hhc, GHSA-3f36-4qv4-vfgh, GHSA-hjwq-7qvv-qxj4, GHSA-2676-hc74-gg7v, GHSA-r246-6gw4-pj3p, GHSA-5p6p-mx64-96jf PrestaShop | 9.0.0 – < 9.2.1 8.0.0 – < 8.2.9 | 9.2.1 8.2.9 .1 |
| GHSA-p292-3rh4-vm4p PrestaShop | 9.0.0 – < 9.2.1 | 9.2.1 9.2.1 |
| GHSA-8rxw-79mh-gmm5 PrestaShop | 9.0.0 – < 9.2.1 – < 8.2.9 | 9.2.1 8.2.9 .1 |
Hivatkozások
Gyártói közlemény
- Unauthenticated PHP object injection in the installer session cookie leads to remote co…
- Admin API client holding api_client_write can grant itself any scope, leading to code e…
- Stored XSS through SVG files uploaded with the back-office file manager and logo uploader
- Path traversal in attachments allows file read and deletion outside the download directory
- Webservice API multishop scope bypass via id_shop=all / id_shop_group
- Installer can be re-run without an already-installed check, allowing configuration over…
- Webservice API cross-tenant customer takeover via missing record-level shop check
- Duplicate orders can be created from a single cart through a race condition in free-ord…