Уязвимост в един от най-популярните WordPress плъгини за електронна търговия позволява да се поеме контрол върху целия сайт. Откриетието е на Саймън Сканъл от RIPS Tech, която разработва софтуер за анализ на PHP код.
Уязвимостта засяга WooCommerce – популярна в България и по света платформа за онлайн търговия. В момента този плъгин се използва от над 4 млн. активни потребители.
Какъв е проблемът
WordPress използва система с различни рангове потребители: Administrator, Editor, Author и т.н. При инсталирането на WooCommerce в системата се създава потребител с ранг Shop Manager. Той има права да променя привилегиите на останалите категории потребители; дори на администратора на сайта.
Това, разбира се, е опасно. За да предотврати злоупотреби, WooCommerce съдържа ограничителна функция, която забранява на Shop Manager да модифицира администраторския профил.
Проблемът е, че ако плъгинът бъде спрян или изтрит, тази функция престава да действа. Така в системата на WordPress изведнъж се появява потребител, който има права дa модифицира акаунта на администратора.
Самият Shop Manager няма възможност да спре WooCommerce. За сметка на това той има достъп до функцията на WooCommerce за изтриване на логове.
Достъп до целия сайт
Именно тук Сканъл открива уязвимост. Оказва се, че тази функция позволява на Shop Manager да изтрие woocommerce.php – основният файл, който захранва плъгина. Ако той бъде изтрит, WooCommerce спира да работи и Shop Manager може да редактира профила на администратора и да определя какви права има.
За да се осъществи успешна атака, нейният автор първо трябва да има достъп до WooCommerce акаунта. Това може да стане чрез фишинг или вътрешен човек от компанията, която притежава сайта. След като разполага с потребителско име и парола за WooCommerce, той може да превземе целия сайт през плъгина.
Съвети за собственици на онлайн магазини
Уязвимостта е отстранена във версията WooCommerce 3.4.6. Ако сайтът ви е базиран на WordPress и използвате WooCommerce, обновете плъгина до най-новата версия.