Ad

CVE-2026-53933

MEDIUM CVSS 4.0: 6,9
Обновлено 9 сентября 2026
PHP
Параметр Значение
CVSS 6,9 (MEDIUM)
Уязвимые версии до 10.73.1
Тип уязвимости CWE-203
Поставщик PHP
Публичный эксплойт Нет

Maravel, PHP-фреймворк, ориентированный на внедрение зависимостей, до версии 10.73.1 имел проблему раскрытия информации по побочным каналам. Когда маршрут был скомпилирован с динамическими заполнителями (например, `/api/v1/users/{id}`), ключ-заполнитель необработанной строки был ошибочно зарегистрирован в контрольном списке плоского статического маршрута. Злоумышленник, сканирующий конечные точки, может намеренно передать буквальный синтаксис шаблона (например, `GET /api/v1/users/{id}`), чтобы вызвать неожиданное совпадение со статической картой.

Поскольку механизм динамического дерева был обойден, аргументы не были зафиксированы. Это вынудило современные версии PHP 8+ выдавать встроенную ошибку ArgumentCountError, что приводило к внутренней ошибке сервера 500 вместо стандартного 404 Not Found. Отслеживая, какие шаблоны нечеткости привели к ошибке 500, злоумышленник мог программно профилировать и отображать имена параметров внутреннего маршрута и схемы контроллера.

Версия 10.73.1 содержит патч. В качестве обходного пути уменьшите эту утечку по побочным каналам, внедрив защитную проверку в глобальном промежуточном программном обеспечении. Это позволит отклонить любые буквальные шаблоны скобок до того, как они достигнут механизма маршрутизатора.

Показать оригинальное описание (EN)

Maravel, a PHP framework oriented towards dependency injection, prior to version 10.73.1 has a side-channel information disclosure issue. When a route was compiled with dynamic placeholders (e.g., `/api/v1/users/{id}`), the raw string placeholder key was mistakenly registered into the flat static route checklist. An attacker scanning endpoints could intentionally pass the literal template syntax (e.g., `GET /api/v1/users/{id}`) to force an unexpected match against the static map. Because the dynamic tree engine was bypassed, no arguments were captured. This forced modern PHP 8+ versions to throw a native `ArgumentCountError`, resulting in a 500 Internal Server Error instead of a uniform 404 Not Found. By tracking which fuzz patterns exploded into a 500 error, a malicious actor could programmatically profile and map out internal route parameter names and controller schemas. Version 10.73.1 contains a patch. As a workaround, mitigate this side-channel leak by implementing a defensive check in a global middleware. This will reject any literal brace patterns before they reach the router engine.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Не требуются
Нет дополнительных условий
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Нет
Нет модификации данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v4.0

Тип уязвимости (CWE)