Impact
The vulnerability manifests as prototype injection within the @orpc/json-schema SmartCoercionPlugin. A remote client that can access a procedure with an object input schema can supply __proto__ or names of Object.prototype members so that the coercer treats inherited values as valid sub‑schemas. This allows an attacker to override or inject properties into the request object's prototype, and the coerced request is accepted and used by the API handler, Object.assign, or configuration lookups. While the global Object.prototype and unrelated objects remain unchanged, the altered request can change the logic executed by the API and potentially result in privilege escalation or unauthorized data access.
Affected Systems
The flaw resides in the middleapi:orpc product, specifically the SmartCoercionPlugin used by orpc before version 1.14.9. Any deployment of oRPC that exposes a remote procedure call accepting an object input schema and invokes the SmartCoercionPlugin is susceptible; versions 1.14.9 and later contain the fix and are no longer vulnerable.
Risk and Exploitability
The CVSS score of 6.5 indicates a medium severity. The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, suggesting no widespread exploitation known at this time. The likely attack vector is a remote client sending crafted JSON payloads to an exposed procedure; exploitation requires only the ability to transmit such payloads over the network. The impact does not grant arbitrary code execution but enables manipulation of API logic through prototype injection.
OpenCVE Enrichment