Qwik — это платформа JavaScript, ориентированная на производительность. До версии 1.19.0 прототипная уязвимость загрязнения существовала в функции formToObj() в промежуточном программном обеспечении @builder.io/qwik-city. Функция обрабатывает имена полей формы с точечной записью (например, user.name) для создания вложенных объектов, но не может очистить опасные имена свойств, такие как __proto__, конструктор и прототип. Это позволяет неаутентифицированным злоумышленникам загрязнять Object.prototype, отправляя специально созданные запросы HTTP POST, что потенциально может привести к повышению привилегий, обходу аутентификации или отказу в обслуживании. Эта проблема исправлена в версии 1.19.0.
Показать оригинальное описание (английский)
Qwik is a performance focused javascript framework. Prior to version 1.19.0, a prototype pollution vulnerability exists in the formToObj() function within @builder.io/qwik-city middleware. The function processes form field names with dot notation (e.g., user.name) to create nested objects, but fails to sanitize dangerous property names like __proto__, constructor, and prototype. This allows unauthenticated attackers to pollute Object.prototype by sending crafted HTTP POST requests, potentially leading to privilege escalation, authentication bypass, or denial of service. This issue has been patched in version 1.19.0.
Матрица атаки
СТРОКА CVSS ВЕКТОРА
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:L