Impact
The vulnerability is in the buildClientParams function of the Hey API openapi‑ts package, which copies a runtime template into generated SDKs. The function writes keys prefixed with a slot marker ($body_, $headers_, $path_, or $query_) directly into the corresponding slot. Because any key is accepted, an attacker can supply a key such as $query___proto__ to assign the __proto__ property of the params.query object. This prototype chain manipulation is classified as CWE‑1321 and allows the attacker to inject properties that become inherited by the object, which can be exposed during for…in loops and may leak data or alter control flow.
Affected Systems
The affected component is the Hey API openapi‑ts library, part of the Hey API ecosystem. All releases before version 0.97.3 contain the flaw; version 0.97.3 and newer are fixed.
Risk and Exploitability
The CVSS score of 4.8 indicates moderate severity, and the EPSS score is below 1 %, suggesting a low probability of exploitation at this time. The vulnerability is not listed in the CISA KEV catalog. An attacker would need to supply a crafted key to the buildClientParams routine, which occurs when user input is processed by a generated SDK to construct request parameters. If the SDK is exposed to untrusted data, the injected prototype chain could leak data or alter program behavior, but the attack requires crafted input and is therefore unlikely to be exploited remotely without an exposed interface.
OpenCVE Enrichment
Github GHSA