Если на сайте стоит 3D Product configurator for WooCommerce, slug expivi, не новее 2.16.2, гость без логина выполняет код на сервере. Wordfence ставит 9.8. Закрывает 2.16.3, эта версия уже в каталоге.
В ту же проверку ещё два плагина из каталога. Extensions For CF7 до 3.4.5 принимает файл через поле подписи, патч 3.4.6. Advanced IP Blocker до 8.13.13 отдаёт сессию без пароля, когда включена его двухфакторка. Закрыто с 8.13.14, обновление из каталога ставит 8.13.15.
- Expivi, slug expivi. Код без логина, версии по 2.16.2 включительно, патч 2.16.3. В каталоге около 100 установок.
- Extensions For CF7, slug extensions-for-cf7. Файл без логина через поле подписи, версии по 3.4.5, патч 3.4.6. В changelog от 4 октября загрузку для поля Signature ужесточили. Около 5 тысяч установок. Ту же версию закрытия указывает Patchstack.
- Advanced IP Blocker, slug advanced-ip-blocker. Сессия без пароля при включённой двухфакторке плагина, версии по 8.13.13, патч 8.13.14. В changelog 8.13.14 закрыт обход входа в двухфакторке. В каталоге уже 8.13.15, установок около 2 тысяч.
Expivi собирает PDF по конфигурации товара. В 2.16.2 проверка входа на этом пути не срабатывает, и данные гостя доходят до выполнения кода. Сессия магазина не нужна. Установок мало, но если slug в списке есть, обновляйте сегодня.
У Extensions For CF7 дыра в поле подписи: тип файла не проверяют, загруженное может выполниться. У Advanced IP Blocker обход есть только при включённой двухфакторке. Выключена, этот обход не сработает, но версию 8.13.13 не оставляйте.
Если ни expivi, ни extensions-for-cf7, ни advanced-ip-blocker в списке плагинов нет, эти дыры сайта не касаются.
Перед обновлением на проде снимите бэкап базы и файлов. Все три плагина из каталога wordpress.org.
wp plugin list --fields=name,status,version | grep -Ei 'expivi|extensions-for-cf7|advanced-ip-blocker' wp plugin update expivi extensions-for-cf7 advanced-ip-blocker
