Read the docs
TI-2026-36088 Aliases CVE-2026-48819GHSA-hhx9-57xq-r5rw

Hey API: `buildClientParams` template: prototype chain substitution via unknown `$<slot>___proto__` key

Priority MEDIUM 55CWE-1321Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
—
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

Hey API is an ecosystem for turning API specifications into production-ready code. Prior to 0.97.3, dist/clients/core/params.ts ships a runtime template copied into generated SDKs as params.gen.ts, and buildClientParams writes unknown slot-prefixed keys such as $body_, $headers_, $path_, and $query_ directly to the corresponding slot, allowing $query___proto__ alongside a legitimate q field to set params.query through params["query"]["__proto__"] = value, call Object.setPrototypeOf(params.query, value), and expose inherited attacker-controlled keys during for..in iteration. This issue is fixed in version 0.97.3.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00272 19th percentileScored 2026-11-07
Fix Fixed openapi-ts (hey-api): 0.97.3@hey-api/openapi-ts (npm): 0.97.3

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
hey-apiopenapi-tsbefore 0.97.30.97.3Patch availableCNA
—@hey-api/openapi-ts (npm)before 0.97.30.97.3Patch availableGHSA-hhx9-57xq-r5rw
  • openapi-ts Vendorhey-api Affected before 0.97.3 Fixed in 0.97.3 Patch available CNA
  • @hey-api/openapi-ts (npm) Vendor— Affected before 0.97.3 Fixed in 0.97.3 Patch available GHSA-hhx9-57xq-r5rw

Remediation

  • Fix · CNA openapi-ts (hey-api) Fixed in 0.97.3
  • Fix · GHSA-hhx9-57xq-r5rw @hey-api/openapi-ts (npm) Fixed in 0.97.3 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-48819
  2. 2026-10-03 Alias added: GHSA-hhx9-57xq-r5rw

References

Sources