{"schema":"threatline.record/2","record":{"id":"CVE-2026-103036","aliases":["GHSA-4h5r-cv8j-4456"],"summary":"@orpc/json-schema: Prototype injection in smart coercion","details":"oRPC is a tool that helps build APIs that are end-to-end type-safe and adhere to OpenAPI standards. Prior to 1.14.9, the @orpc/json-schema SmartCoercionPlugin uses JsonSchemaCoercer to collect object properties in a plain object and to resolve schema.properties entries through the prototype chain. A remote client that can reach a procedure with an object input schema can supply __proto__ to replace the prototype of the single coerced request object, or supply Object.prototype member names such as constructor and toString so inherited values are treated as sub-schemas and pass the coercer's satisfaction check. Attacker-controlled inherited properties can consequently affect handler, Object.assign, or configuration lookups, while legitimate __proto__ properties are dropped. The global Object.prototype, unrelated objects, other requests, and other users are not modified, and downstream schema validation still runs. This issue is fixed in version 1.14.9.","categories":["Unclassified"],"product":"orpc","vendor":"middleapi","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-103036","source_modified_at":"2026-10-05T20:01:40.650Z","fetched_at":"2026-10-23T18:52:38.922436Z","product":"orpc","vendor":"middleapi","versions":[{"status":"affected","version":"< 1.14.9"}],"defaultStatus":null},{"source":"GitHub Advisory Database","source_url":"https://github.com/middleapi/orpc/security/advisories/GHSA-4h5r-cv8j-4456","source_modified_at":"2026-10-01T16:08:58Z","fetched_at":"2026-10-24T10:48:42.330819Z","package":{"ecosystem":"npm","name":"@orpc/json-schema"},"range":"<= 1.14.8"}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/middleapi/orpc/security/advisories/GHSA-4h5r-cv8j-4456","source_modified_at":"2026-10-01T16:08:58Z","fetched_at":"2026-10-24T10:48:42.330819Z","package":{"ecosystem":"npm","name":"@orpc/json-schema"},"version":"1.14.9"}],"cvss":6.5,"severity":"Medium","kev":{"listed":false},"epss":{"probability":0.00234,"percentile":0.1356,"score_date":"2026-10-23"},"published_at":"2026-10-02T19:59:23.947Z","modified_at":"2026-10-05T20:01:40.650Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-103036","fetched_at":"2026-10-23T18:52:38.922436Z","source_modified_at":"2026-10-05T20:01:40.650Z"},{"source":"GitHub Advisory Database","url":"https://github.com/middleapi/orpc/security/advisories/GHSA-4h5r-cv8j-4456","fetched_at":"2026-10-24T10:48:42.330819Z","source_modified_at":"2026-10-01T16:08:58Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-103036","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","GitHub Advisory Database","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/middleapi/orpc/security/advisories/GHSA-4h5r-cv8j-4456","tags":["x_refsource_CONFIRM"]},{"source":"CVE List","url":"https://github.com/middleapi/orpc/pull/1726","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/middleapi/orpc/commit/8a352622e756e8956311f5836cd5c5b9219c0666","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/middleapi/orpc/releases/tag/v1.14.9","tags":["x_refsource_MISC"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"none","automatable":"yes","technical_impact":"partial","assessed_at":"2026-10-05T20:01:32.154661Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-05T20:01:40.650Z","content_hash":"7a0f34195d634f7cb18f16a53e954eb32e0345da56a3605e91938a22a29b1ac1"}}
