CVE-2026-76842

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.
Configurations

No configuration.

History

14 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) El SDK de Node.js de Mercado Pago interpola identificadores proporcionados por el llamador en las rutas de solicitud de la API sin aplicarles codificación porcentual, de modo que los caracteres que son estructurales en una URL sobreviven en la solicitud saliente. Los clientes de payment (get, capture, cancel), paymentRefund (create, total, list, get), advancedPayment (get, capture, cancel, update, updateReleaseDate) y disbursementRefund (create, createAll, listAll) construyen su ruta como un literal de plantilla, por ejemplo, RestClient.fetch('/v1/payments/${id}', ...) en src/clients/payment/get/index.ts. Una secuencia de punto-punto o barra en el identificador es normalizada por el analizador de URL de WHATWG y redirige la solicitud a un endpoint diferente, y un signo de interrogación añade parámetros de consulta elegidos por el atacante, en ambos casos llevando el token de acceso propio del comerciante. Una aplicación que reenvía un identificador influenciado por una parte no confiable a uno de estos métodos sin una verificación de propiedad, por lo tanto, permite a esa parte alcanzar otros recursos dentro del alcance del token del comerciante. El repositorio ya contiene la función auxiliar prevista, encodePathParam en src/utils/path.ts, la cual la pull request 451 aplicó a aproximadamente otros 29 clientes mientras dejaba estos sin cambios.

Information

Published : 2026-08-24 14:17

Updated : 2026-10-14 13:10


NVD link : CVE-2026-76842

Mitre link : CVE-2026-76842

CVE.ORG link : CVE-2026-76842


JSON object : View

Products Affected

No product.

CWE
CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')