Craft Commerce — это платформа электронной коммерции для Craft CMS. В версиях с 5.0.0 по 5.5.4 существует уязвимость внедрения SQL, при которой свойства ProductQuery::hasVariant и VariantQuery::hasProduct обходят черный список входной очистки, добавленный в ElementIndexesController в предыдущем исправлении безопасности (GHSA-2453-mppf-46cj). Черный список удаляет только свойства запроса Yii2 верхнего уровня, такие какwhere и orderBy, но hasVariant и hasProduct проходят нетронутыми и внутренне вызывают Craft::configure() для подзапроса без очистки, повторно вводя SQL-инъекцию.
Любой прошедший проверку подлинности пользователь панели управления может использовать это с помощью слепой SQL-инъекции на основе логических значений для извлечения произвольного содержимого базы данных, включая ключи безопасности, которые позволяют подделывать сеансы администратора для повышения привилегий. Эта проблема исправлена в версии 5.6.0.
Показать оригинальное описание (EN)
Craft Commerce is an ecommerce platform for Craft CMS. In versions 5.0.0 through 5.5.4, an SQL injection vulnerability exists where the ProductQuery::hasVariant and VariantQuery::hasProduct properties bypass the input sanitization blocklist added to ElementIndexesController in a prior security fix (GHSA-2453-mppf-46cj). The blocklist only strips top-level Yii2 Query properties such as where and orderBy, but hasVariant and hasProduct pass through untouched and internally call Craft::configure() on a subquery without sanitization, re-introducing SQL injection. Any authenticated control panel user can exploit this via boolean-based blind SQL injection to extract arbitrary database contents, including security keys that enable forging admin sessions for privilege escalation. This issue has been fixed in version 5.6.0.
Характеристики атаки
Последствия
Строка CVSS v4.0