Bezpečnostní upozornění k pluginu Wallet System for WooCommerce
Pokud jste ode mne dostali e-mail, který vás odkázal na tuto stránku, pak proto, že váš web
zřejmě používá zranitelnou verzi pluginu Wallet System for WooCommerce (WordPressový
plugin wallet-system-for-woocommerce od společnosti WP Swings). Tato stránka vysvětluje,
proč na tom záleží a jak to opravit.
Toto upozornění se týká CVE-2026-42654, zranitelnosti vysoké závažnosti (CVSS 7.1) v procesu správy účtu a obnovy hesla pluginu, která by mohla neoprávněnému požadavku umožnit získat přístup k zákaznickému účtu. Postihuje všechna vydání před verzí 2.7.6 a je opravena ve verzi 2.7.6. Pokud používáte dotčenou verzi, aktualizujte Wallet System for WooCommerce na 2.7.6 nebo novější (doporučeno je nejnovější vydání 2.7.8).
Poznámka k naléhavosti, protože toto upozornění se liší od ostatních, která jsem rozeslal: jde o zranitelnost umožňující přístup k účtu, nikoli o převzetí serveru nebo plné administrátorské kontroly, a nic nenasvědčuje tomu, že by byla zneužívána. Tato stránka je preventivní upozornění, nikoli zpráva o incidentu. Aktualizace problém uzavírá a žádná nouzová reakce z toho nevyplývá.
Jde o zranitelnost pluginu, nikoli jádra WordPressu nebo WooCommerce. Plně aktuální WordPress a WooCommerce vás neochrání, pokud je samotný plugin Wallet System for WooCommerce na dotčené verzi.
Je tato zpráva důvěryhodná?
Ano. Jde o upozornění v dobré víře podle zásad zodpovědného zveřejňování od nezávislého bezpečnostního výzkumníka. Nežádám vás o peníze, hesla ani přístup k vašemu webu a nepokoušel jsem se do něj proniknout, cokoli nahrát ani cokoli zneužít.
Pouze jsem se podíval na veřejně viditelné soubory, které váš web poskytuje každému
návštěvníkovi (stejně jako je veřejná vaše úvodní stránka), a zaznamenal jsem číslo verze,
které plugin Wallet System for WooCommerce zveřejňuje ve svém veřejném souboru
README.txt. Zranitelného endpointu jsem se výslovně nedotkl a nic na této kontrole
se nedotýká vašich dat, vaší administrace ani žádné soukromé části vašeho webu (podrobněji
v části Co jsem udělal a co ne níže).
Pokud si chcete ověřit, kdo jsem, podívejte se na kontaktní údaje v dolní části této stránky a na stránku O této stránce.
Proč na tom záleží
Wallet System for WooCommerce je doplněk pro WooCommerce (kolem 2 000 aktivních instalací), který obchodu umožňuje nabídnout zákazníkům digitální peněženku: zákazníci v ní drží zůstatek, dobíjejí si ji a platí s ní v pokladně. V dotčených verzích byly privilegované akce peněženky v procesu správy účtu a obnovy hesla pluginu chráněny sdíleným bezpečnostním tokenem, který plugin vydával každému návštěvníkovi, místo skutečné kontroly oprávnění vázané na to, kdo požadavek posílá. Tento typ chyby se nazývá obejití autentizace alternativní cestou nebo kanálem (CWE-288): běžná přihlašovací cesta ověřuje identitu správně, ale vedlejší cesta přijímá sdílený token, jako by prokazoval oprávnění.
Praktickým důsledkem je, že požadavek přicházející touto vedlejší cestou, která je dosažitelná pro kteréhokoli registrovaného zákazníka (a obchod provozující zákaznickou peněženku téměř vždy umožňuje otevřenou registraci), by mohl vystupovat jako oprávněný uživatel a získat přístup k zákaznickému účtu.
Zranitelnost byla ohodnocena 7,1 z 10 (vysoká závažnost). Pro udržení perspektivy: jde o problém přístupu k účtu, sám o sobě útočníkovi nepředává váš server ani administrátorský účet a nic nenasvědčuje aktivnímu zneužívání (není v katalogu Known Exploited Vulnerabilities agentury CISA a nejsem si vědom žádných hlášení o zneužití). Pokud můj e-mail tento problém uváděl, znamená to, že verze, kterou váš web hlásí, spadá do dotčeného rozsahu. Netestoval jsem, zda je konkrétně váš web zneužitelný, pouze to, že hlásí dotčenou verzi.
Dobrá zpráva: aktualizace na opravenou verzi tento problém uzavře a aktualizace je jednoduchá.
Jak zkontrolovat svou verzi
Nemusíte mi věřit, jakou verzi používáte.
Z veřejného manifestu (bez přihlášení): otevřete v prohlížeči
yourdomain.com/wp-content/plugins/wallet-system-for-woocommerce/README.txt. Upozorňuji,
že tento plugin dodává svůj readme jako README.txt (velkými písmeny), na rozdíl od
mnoha pluginů, které používají readme.txt psané malými písmeny. Řádek Stable tag:
blízko horní části je verze, kterou vaše instalace hlásí, a jde o stejný veřejný soubor,
který jsem četl.
Z administrace WordPressu (pokud máte přístup):
- Přihlaste se do administrace WordPressu (obvykle na adrese
yourdomain.com/wp-admin). - Přejděte na Pluginy poté Instalované pluginy.
- Vyhledejte Wallet System for WooCommerce a poznamenejte si verzi uvedenou pod jeho názvem.
Poté použijte toto pravidlo a mějte na paměti, že verze se porovnávají číselně, nikoli abecedně:
- Jakákoli verze nižší než 2.7.6: dotčená, aktualizujte ihned. Zranitelnost nese každé starší vydání; žádná bezpečná starší verze neexistuje.
- 2.7.6 nebo novější, včetně 2.7.7 a 2.7.8: již opravené.
- Nenechte se zmást pořadím textu:
2.5.11je pozdější vydání než2.5.9, protože 11 je větší než 9. Porovnávejte jednotlivá čísla postupně, místo abyste verzi četli jako text (oba tyto příklady jsou nižší než 2.7.6, a tedy dotčené; jde o to, jak obecně číst čísla verzí).
Jak aktualizovat
Nejbezpečnější cestou je aktualizace přímo přes WordPress, a to po předchozí záloze:
- Zazálohujte svůj web (soubory a databázi) před provedením změn. Většina poskytovatelů hostingu nabízí zálohy na jedno kliknutí, případně použijte zálohovací plugin pro WordPress.
- V administraci WordPressu přejděte na Nástěnka poté Aktualizace, nebo Pluginy poté Instalované pluginy. Pokud je aktualizace Wallet System for WooCommerce uvedena, nainstalujte ji odsud.
- Pokud dáváte přednost příkazové řádce, WP-CLI udělá totéž:
wp plugin update wallet-system-for-woocommerce. - Pokud se žádná aktualizace neobjeví, můžete si nejnovější vydání stáhnout přímo ze stránky pluginu v adresáři WordPress.org, Wallet System for WooCommerce, a aktualizovat přes Pluginy poté Přidat nový plugin poté Nahrát plugin.
- Po aktualizaci potvrďte nové číslo verze (2.7.6 nebo novější; doporučeno je nejnovější vydání 2.7.8) podle výše uvedených kroků a zkontrolujte, že váš obchod a jeho funkce peněženky běžně fungují.
Když už jste u toho, vyplatí se ověřit, že jsou aktuální i jádro WordPressu, WooCommerce a vaše ostatní pluginy, protože stejná zásada platí pro všechny.
Po aktualizaci
Aktualizace na 2.7.6 nebo novější problém uzavírá a pro většinu obchodů je to celý úkol. Nic nenasvědčuje tomu, že by tato zranitelnost byla zneužita, takže žádná nouzová reakce z toho nevyplývá: nemusíte svůj web považovat za napadený, odpojovat ho ani vynucovat resety hesel.
Protože by zranitelnost mohla neoprávněnému požadavku umožnit jednat se zákaznickým účtem, je rozumný jeden běžný následný krok: projděte si nedávnou aktivitu účtů a peněženek, zda v ní není něco neznámého, například úpravy zůstatku peněženky, které jste neprovedli, žádosti o výběr nebo o prostředky, které nepoznáváte, nebo změny zákaznických účtů, o které vaši zákazníci nepožádali. Berte to jako běžnou údržbu, jakou obchod dělá pravidelně, nikoli jako reakci na incident. Pokud přece jen něco vypadá špatně, platí obvyklé kroky (resetujte heslo daného zákazníka a projděte s ním aktivitu) a s dotazy se na mne můžete klidně obrátit.
Co jsem udělal a co ne
Abych byl ohledně kontroly, která předcházela mému e-mailu, zcela transparentní: četl jsem
pouze veřejné soubory, které váš web už teď poskytuje každému návštěvníkovi, konkrétně
veřejný soubor pluginu README.txt a vaši úvodní stránku. Nepřistupoval jsem k vaší
administraci WordPressu, k vaší databázi ani k žádné soukromé části webu. Zejména jsem se
nedotkl zranitelného endpointu a nic jsem netestoval ani nezneužil.
Jde o pozorování založené na verzi: váš web hlásí verzi v dotčeném rozsahu. Web v tomto rozsahu už může být chráněn jinými prostředky (například webovým aplikačním firewallem nebo zpětně nasazenou opravou), takže toto upozornění není tvrzením, že váš web byl v době mé kontroly zneužitelný.
Nemám webmastera / nevím si rady
Pokud nejste tou osobou, která web spravuje, přepošlete prosím tuto stránku tomu, kdo to dělá (vašemu vývojáři webu, agentuře nebo poskytovateli hostingu). Výše uvedené kroky rychle rozpozná.
Pokud web spravujete sami a zaseknete se, rád vám zdarma pomohu nasměrovat se správným směrem. Ozvěte se pomocí kontaktních údajů níže.
Kontakt
Evan Harris, bezpečnostní výzkumník
- E-mail: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Na provozovatele se s problémy, jako je tento, obracím výhradně proto, abych jim pomohl zabezpečit jejich weby. Pokud si nepřejete být znovu kontaktováni, stačí mi to sdělit a budu to respektovat.
Zdroje
Oficiální upozornění a evidence
Dodavatel / plugin