{"answers":{"affected":"2 open source packages ship an affected version, including elysia. It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-66456 exists.","fix":"Upgrade elysia to 1.4.17 or later.","what":"CVE-2025-66456 is a critical code injection vulnerability in elysiajs elysia, published on 9 Dec 2025. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2025-66456 and fix it if it is affected.\n\nWhat it is: CVE-2025-66456 is a critical code injection vulnerability in elysiajs elysia, published on 9 Dec 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-66456 exists.\n\nAffected packages and fixed versions:\n- elysia (npm): affected from 1.4.0; fixed in 1.4.17\n- elysia (npm): affected from 1.4.0; fixed in 1.4.17\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2025-66456/ (Markdown: https://insights.sbomify.com/CVE-2025-66456/index.md)","id":"CVE-2025-66456","markdown":"https://insights.sbomify.com/CVE-2025-66456/index.md","name":"CVE-2025-66456","record":{"aliases":["GHSA-hxj9-33pp-j2cc"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"yes","non_default_config":true,"product_category":"Elysia TypeScript framework","requires_auth":"none","summary":"Prototype pollution in Elysia allows remote code execution when combining specific schema validation configurations.","user_interaction":"not_required","vuln_class":"code_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"elysia","vendor":"elysiajs"}],"cvss":{"score":9.1,"severity":"critical","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-1321","name":"Improperly Controlled Modification of Object Prototype Attributes"}],"description":"Elysia is a Typescript framework for request validation, type inference, OpenAPI documentation and client-server communication. Versions 1.4.0 through 1.4.16 contain a prototype pollution vulnerability in `mergeDeep` after merging results of two standard schema validations with the same key. Due to the ordering of merging, there must be an any type that is set as a standalone guard, to allow for the `__proto__ prop` to be merged. When combined with GHSA-8vch-m3f4-q8jf this allows for a full RCE by an attacker. This issue is fixed in version 1.4.17. To workaround, remove the `__proto__ key` from body.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Elysia vulnerable to prototype pollution with multiple standalone schema validation","id":"CVE-2025-66456","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"code_injection","year":"2025"},"n_packages":2,"n_references":5,"next":{"headline":"Elysia affected by arbitrary code injection through cookie config","id":"CVE-2025-66457"},"packages":[{"ecosystem":"npm","fixed":["1.4.17"],"introduced":["1.4.0"],"last_affected":[],"package":"elysia","purl":null,"source":"GHSA-hxj9-33pp-j2cc"},{"ecosystem":"npm","fixed":["1.4.17"],"introduced":["1.4.0"],"last_affected":[],"package":"elysia","purl":"pkg:npm/elysia","source":"GHSA-hxj9-33pp-j2cc"}],"prev":{"headline":"LMDeploy has Remote Code Execution by Pickle Deserialization via handle_zmq_recv in lmdeploy/lmdeploy/pytorch/disagg/conn/engine_conn.py","id":"CVE-2025-66455"},"products":["elysia"],"published":"2025-12-09","related":[{"cvss_score":7.5,"headline":"Elysia has a string URL format redos","id":"CVE-2026-30837","kev_date_added":null,"published":"2026-03-10"},{"cvss_score":7.5,"headline":"Elysia affected by arbitrary code injection through cookie config","id":"CVE-2025-66457","kev_date_added":null,"published":"2025-12-09"},{"cvss_score":6.5,"headline":"Elysia Cookie Value Prototype Pollution","id":"CVE-2026-31865","kev_date_added":null,"published":"2026-03-18"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"total"},"state":"PUBLISHED","updated":"2025-12-09","vendors":["elysiajs"]},"summary":"Prototype pollution in Elysia allows remote code execution when combining specific schema validation configurations.","url":"https://insights.sbomify.com/CVE-2025-66456/"}