Qwik — это платформа JavaScript, ориентированная на производительность. Версии до 1.19.2 неправильно выводят массивы из имен полей формы, разделенных точками, во время анализа FormData. Отправляя смешанные ключи индекса массива и свойства объекта по одному и тому же пути, злоумышленник может вызвать запись управляемых пользователем свойств в значения, которые код приложения ожидал как массивы.
При обработке запросов application/x-www-form-urlencoded или multipart/form-data Qwik City преобразовывал имена полей с точками (например, items.0, items.1) во вложенные структуры. Если путь был интерпретирован как массив, дополнительные ключи, предоставленные злоумышленником на этом пути, такие как items.toString, items.push, items.valueOf или items.length, могут неожиданным образом изменить результирующее значение на стороне сервера, что потенциально может привести к сбоям обработки запросов, отказу в обслуживании из-за неправильного состояния массива или слишком большой длины, а также путанице типов в нижестоящем коде. Эта проблема была исправлена в версии 1.19.2.
Показать оригинальное описание (EN)
Qwik is a performance-focused JavaScript framework. Versions prior to 1.19.2 improperly inferred arrays from dotted form field names during FormData parsing. By submitting mixed array-index and object-property keys for the same path, an attacker could cause user-controlled properties to be written onto values that application code expected to be arrays. When processing application/x-www-form-urlencoded or multipart/form-data requests, Qwik City converted dotted field names (e.g., items.0, items.1) into nested structures. If a path was interpreted as an array, additional attacker-supplied keys on that path—such as items.toString, items.push, items.valueOf, or items.length—could alter the resulting server-side value in unexpected ways, potentially leading to request handling failures, denial of service through malformed array state or oversized lengths, and type confusion in downstream code. This issue was fixed in version 1.19.2.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Qwik Qwik
cpe:2.3:a:qwik:qwik:*:*:*:*:*:node.js:*:*
|
— |
1.19.2
|