Skip to main content

Mercado Pago SDK CVE-2026-76842

| EUVDEUVD-2026-64848 HIGH
Path Traversal (CWE-22)
2026-08-24 VulnCheck GHSA-8vxq-h2gr-x277
8.8
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.5 HIGH

AC:H: exploitation requires merchant app to forward untrusted IDs without validation; S:C: traversal reaches alternate API endpoints beyond the originally targeted resource.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Aug 24, 2026 - 13:56 vuln.today
Analysis Generated
Aug 24, 2026 - 13:56 vuln.today
CVE Published
Aug 24, 2026 - 13:11 cve.org
HIGH 8.8

DescriptionCVE.org

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.

AnalysisAI

Path traversal in the Mercado Pago Node.js SDK allows attackers who can influence payment, refund, or disbursement identifiers handled by merchant applications to redirect outbound API calls to unintended Mercado Pago endpoints, carrying the merchant's own access token. The affected clients - payment (get, capture, cancel), paymentRefund (create, total, list, get), advancedPayment (get, capture, cancel, update, updateReleaseDate), and disbursementRefund (create, createAll, listAll) - construct API paths via unencoded template literals, allowing dot-dot sequences and question marks to traverse to alternate endpoints or append attacker-chosen query parameters. No public exploit has been identified at time of analysis, and exploitation is conditional on merchant applications forwarding unvalidated, user-supplied identifiers directly to the SDK.

Technical ContextAI

The vulnerability is rooted in CWE-22 (Path Traversal) as applied to server-side HTTP client path construction. The Mercado Pago Node.js SDK (CPE: cpe:2.3:a:mercadopago:mercadopago:*:*:*:*:*:*:*:*) uses ES6 template literals to embed caller-supplied identifiers directly into API request paths without percent-encoding, e.g., RestClient.fetch(/v1/payments/${id}, ...) in src/clients/payment/get/index.ts. The WHATWG URL parser, which normalizes percent-decoded traversal sequences before the HTTP request is dispatched, resolves dot-dot sequences to traverse to parent paths and preserves question-mark sequences as query string delimiters - both carrying the merchant's Authorization bearer token. The remediation helper encodePathParam already existed in src/utils/path.ts and was applied to approximately 29 other SDK clients in PR #451, but the payment, paymentRefund, advancedPayment, and disbursementRefund client families were omitted from that sweep, indicating the fix was a known remediation pattern that was incompletely applied.

RemediationAI

The primary fix is to apply the changes from PR #451 (https://github.com/mercadopago/sdk-nodejs/pull/451) or upgrade to an npm release that includes those changes. Developers should inspect their installed SDK version's src/clients/payment, src/clients/paymentRefund, src/clients/advancedPayment, and src/clients/disbursementRefund directories and confirm that every path construction wraps the identifier in encodePathParam - the same pattern already applied to customer, customerCard, chargeback, and invoice clients. As an immediate application-level compensating control that eliminates exploitability regardless of SDK version, merchant applications should validate that any payment, refund, or disbursement identifier received from an untrusted party is owned by or associated with the authenticated user before passing it to the SDK. Blocking at the API gateway is not a practical workaround because the traversal produces a legitimately structured outbound request from the SDK. The VulnCheck advisory is at https://www.vulncheck.com/advisories/mercado-pago-node-js-sdk-through-path-injection-via-unencoded-identifiers-in-payment-clients.

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

Share

CVE-2026-76842 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy