Ad

CVE-2026-76842

HIGH CVSS 4.0: 8,8 EPSS 0.38%
Обновлено 24 августа 2026
Параметр Значение
CVSS 8,8 (HIGH)
Тип уязвимости CWE-22 (Обход пути)
Публичный эксплойт Нет

Пакет SDK Mercado Pago Node.js интерполирует идентификаторы, предоставленные вызывающей стороной, в пути запросов API без их процентного кодирования, поэтому символы, являющиеся структурными в URL-адресе, сохраняются в исходящем запросе. Клиенты платежа (get, capture, cancel), PaymentRefund (create, total, list, get), AdvancedPayment (get, capture, cancel, update, updateReleaseDate) и disbursementRefund (create, createAll, listAll) строят свой путь как литерал шаблона, например RestClient.fetch(`/v1/pays/${id}`, ...) в src/clients/pay/get/index.ts. Последовательность точек или косых черт в идентификаторе нормализуется парсером URL-адресов WHATWG и перенаправляет запрос на другую конечную точку, а вопросительный знак добавляет выбранные злоумышленником параметры запроса, в обоих случаях несущие собственный токен доступа продавца.

Таким образом, приложение, которое пересылает идентификатор, на который влияет недоверенная сторона, в один из этих методов без проверки владения, позволяет этой стороне получить доступ к другим ресурсам в пределах области действия токена продавца. Репозиторий уже содержит предполагаемый помощник encodePathParam в src/utils/path.ts, который запрос на извлечение 451 применяется примерно к 29 другим клиентам, оставляя их без изменений.

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

The Mercado Pago Node.js SDK interpolates caller-supplied identifiers into API request paths without percent-encoding them, so characters that are structural in a URL survive into the outgoing request. The payment (get, capture, cancel), paymentRefund (create, total, list, get), advancedPayment (get, capture, cancel, update, updateReleaseDate) and disbursementRefund (create, createAll, listAll) clients build their path as a template literal, for example RestClient.fetch(`/v1/payments/${id}`, ...) in src/clients/payment/get/index.ts. A dot-dot or slash sequence in the identifier is normalised by the WHATWG URL parser and redirects the request to a different endpoint, and a question mark appends attacker-chosen query parameters, in both cases carrying the merchant's own access token. An application that forwards an identifier influenced by an untrusted party into one of these methods without an ownership check therefore allows that party to reach other resources within the merchant's token scope. The repository already contains the intended helper, encodePathParam in src/utils/path.ts, which pull request 451 applied to roughly 29 other clients while leaving these unchanged.

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

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

Последствия

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

Строка CVSS v4.0

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