Tyrimai · · 4 min skaitymo
PrestaShop moduliai su žinomomis saugumo spragomis: ką rodo 2 066 parduotuvės
77 % patikrintų PrestaShop parduotuvių rodo bent vieną modulį, apie kurio saugumo spragą buvo paskelbta. Kur modulio versija vieša, du iš trijų jau pataisyti. Ką reiškia skaičiai ir kaip patikrinti savo parduotuvę.
PrestaShop versijų Prancūzijoje tyrime patikrinome 2 066 parduotuves. Ta pati patikra surašo ir modulius, kuriuos įkelia kiekvienos parduotuvės pagrindinis puslapis. Juos sulyginome su saugumo įspėjimais, kuriuos PrestaShop moduliams skelbia Friends of Presta, o branduolį – su paties PrestaShop įspėjimais.
Trumpai: 77 % parduotuvių rodo bent vieną modulį, apie kurio saugumo spragą buvo paskelbta. Skamba blogiau, nei yra. Kur modulio versija vieša, du iš trijų jau turi pataisytą versiją. Nepataisyti moduliai dažniausiai yra PrestaShop 1.6 ir 1.7 parduotuvėse.
Daugumoje parduotuvių yra modulis, kuris kada nors turėjo spragą
| Parduotuvių | Dalis | |
|---|---|---|
| Patikrinta parduotuvių | 2 066 | |
| Bent vienas modulis su paskelbta spraga | 1 586 | 77 % |
| Bent vienas modulis senesnis nei pataisa (versija vieša) | 84 | 4 % |
| Bent vienas modulis, kuriam pataisos nėra | 33 | 2 % |
Tokia parduotuvė dažniausiai turi du tokius modulius. Tai nestebina: įspėjimai skelbiami apie modulius, kuriuos naudoja daugelis parduotuvių – mokėjimų, siuntimo, naujienlaiškių ir tinklaraščio. Du trečdaliai šių įspėjimų yra apie SQL injekcijas, trys ketvirtadaliai įvertinti kaip kritiniai.
Įspėjimas liečia tam tikras modulio versijas. Jis nieko nesako apie versiją, kurią parduotuvė naudoja šiandien. Todėl pirma eilutė yra sąrašas to, ką verta patikrinti, o ne spragų sąrašas.
Kur versija matoma, dauguma jau pataisyti
Parduotuvės pagrindinis puslapis retai rodo, kurią modulio versiją ji naudoja. Patikra versiją skaito iš viešo modulio config.xml failo, o jis atviras tik 9 % iš 27 418 matytų modulių. 302 moduliams su įspėjimu versija buvo vieša:
| Modulio versija, palyginti su pataisa | Modulių | Dalis |
|---|---|---|
| Pataisyta ar naujesnė | 202 | 67 % |
| Senesnė nei pataisa | 92 | 30 % |
| Autorius pataisos nepaskelbė | 8 | 3 % |
Taigi dauguma savininkų modulius atnaujina. Bet beveik trečdalis tų, kuriuos matėme, ne, o pasenęs modulis parduotuvėje dažniausiai būna ne vienas.
Išsiskiria senos PrestaShop versijos. 16 % PrestaShop 1.6 parduotuvių ir 6 % 1.7 parduotuvių rodo bent vieną modulį, kuris tikrai senesnis nei pataisa. PrestaShop 8 ir 9 tokių iš viso trys. Tai minimalūs skaičiai: devyniems moduliams iš dešimties versija nevieša, todėl jie nesuskaičiuoti nei ten, nei ten.
Dažniausiai matomi moduliai
| Modulis | Parduotuvių | Įspėjimas | Pataisyta | Vieša versija senesnė nei pataisa |
|---|---|---|---|---|
| Pageidavimų sąrašas (blockwishlist), PrestaShop | 401 | 2022 m., versijos nuo 2.0.0 iki 2.1.1 | vėlesnėse versijose | nevieša |
| PayPlug | 398 | 2023 m., versijos nuo 3.6.0 iki 3.7.1 | 3.8.2 | 0 iš 2 |
| Chronopost | 357 | 2023 m., iki 6.2.1 | 6.4.0 | 0 iš 69 |
| Brevo (Sendinblue) | 246 | 2023 m., iki 4.0.14 | 4.0.15 | 0 iš 33 |
| PrestaBlog | 198 | 2023 m., iki 4.4.7 | 4.4.8 | 4 iš 7 |
| PayPal | 198 | 2023 ir 2024 m. | 3.16.4, 3.18.1, 6.4.2 | 11 iš 12 |
| Carts Guru | 147 | 2023 m., iki 2.4.2 | 2.4.3 | 4 iš 48 |
Dažniausi moduliai atrodo ramiai. Visi 69 Chronopost ir visi 33 Brevo moduliai, kurių versiją matėme, yra pataisyti. Pageidavimų sąrašo modulis ateina su pačia PrestaShop, o jo įspėjimas – iš 2022 m.
Dažnai atsiliekantys yra retesni:
- AP Page Builder (appagebuilder): 17 iš 18 viešų versijų senesnės nei 4.0.0 – versija, kurią 2025 m. įspėjimas nurodo kaip pataisytą. Puslapių kūrimo modulyje laikomas pagrindinio puslapio turinys, todėl jį savininkai liečia nenoriai.
- SimpleBlog (ph_simpleblog): 13 iš 32 senesnės nei 1.7.8 – 2021 m. įspėjimo pataisa.
- PayPal: 11 iš 12 viešų versijų senesnės nei 3.16.4. 2023 m. įspėjimas liečia PayPal modulį, skirtą PrestaShop 1.5 ir 1.6.
- Advanced Popup Creator: visos 7 viešos versijos senesnės nei 1.2.7, kuri ištaisė 2026 m. vasario įspėjimą.
Pataisos visai nėra: 33 parduotuvės rodo modulį, kurio autorius pataisytos versijos nepaskelbė. Dažniausi – Referral and Affiliation Program (referralbyphone, 15 parduotuvių) ir du Posthemes moduliai: posrotatorimg ir possearchproducts (po 7 parduotuves). Juos galima tik pakeisti kitais arba pašalinti.
Branduolys: 1.7 ir 1.6 pataisų nebegauna
Moduliai – tik dalis. Nuo 2024 m. vasario PrestaShop paskelbė 5 branduolio saugumo spragas, kurias ištaisė tik PrestaShop 8 arba 9. Rimčiausia, 2026 m. gegužės, yra kritinė išsaugoto XSS spraga klientų aptarnavimo lange. Paskutinė PrestaShop 1.7 versija išleista 2024 m. sausį, todėl šios spragos lieka atviros kiekvienoje 1.7 ir 1.6 parduotuvėje: 1 065 parduotuvės, 52 % patikrintų.
PrestaShop 8 ir 9 pataisas dar gauna. Parduotuvė su naujausia savo šakos versija jas turi.
Kaip patikrinti savo parduotuvę
- Paleiskite PrestaShop saugumo patikrą. Ji nemokama ir trunka kelias sekundes. Ji išvardija pagrindinio puslapio modulius, apie kuriuos paskelbta įspėjimų, ir prie kiekvieno parašo, ar atnaujinti, patikrinti, ar pakeisti. Ji taip pat ieško kortelių skimerio, apie kurį PrestaShop įspėjo 2026 m.
- Palyginkite versijas administravime. Skiltyje „Moduliai“ matoma kiekvieno modulio versija. Kiekvienam moduliui, kurį patikra pažymi „Patikrinkite“, atsidarykite įspėjimą ir pažiūrėkite, ar jūsų versija naujesnė nei pataisa.
- Pašalinkite, ko nenaudojate. Išjungto modulio failai serveryje gali likti pasiekiami. Jei jo nebereikia, išdiekite ir ištrinkite.
- Pakeiskite modulius be pataisos. Jų nepataisys jokia vėlesnė versija.
- Su 1.7 ar 1.6 planuokite atnaujinimą. Modulių atnaujinimas padeda, bet branduolys lieka atviras. Iš 1.7 kelias eina per 8.2 į 9, žr. Atnaujinimas į PrestaShop 9.
Arba perduokite tai mums: modulius ir branduolį atnaujiname parduotuvės kopijoje, patikriname apmokėjimą ir perjungiame, už fiksuotą kainą, sutartą prieš pradedant darbus. Sužinoti kainą.
Kaip tikrinome
- Parduotuvės: 2 066 PrestaShop parduotuvės iš mūsų 2026 m. lapkričio tyrimo, tarp 100 000 Prancūzijoje lankomiausių svetainių. Metodas aprašytas ten.
- Moduliai: moduliai, kuriuos įkelia pagrindinis puslapis, nuskaityti iš jo kodo. Moduliai, veikiantys tik administravime ar kituose puslapiuose, nematomi. Versija paimta iš viešo modulio
config.xml, jei serveris jį atiduoda. - Įspėjimai: modulių įspėjimai – Friends of Presta (CC BY-SA 4.0), branduolio – PrestaShop įspėjimai GitHub, abu 2026 m. lapkričio 7 d. Modulis sulyginamas pagal techninį pavadinimą. Kito autoriaus modulis tuo pačiu pavadinimu taip pat būtų įskaičiuotas.
- Ribos: parduotuvės, kurios palieka
config.xmlatvirą, gali skirtis nuo kitų, todėl 67 % apibūdina tik tuos 302 modulius, o ne visas parduotuves. Parduotuvė taip pat galėjo modulį pataisyti ranka, nekeisdama versijos. - Privatumas: skelbiame tik suvestinius skaičius. Su parduotuvėmis nesusisiekėme ir jų neįvardysime.
Norite pažiūrėti konkrečią parduotuvę? Įveskite jos adresą PrestaShop saugumo patikroje.