{"id":"CVE-2026-73299","aliases":["GHSA-w28w-gp39-m4p6"],"url":"https://o3.security/vulnerability/CVE-2026-73299","summary":"Prompty: Server-Side Template Injection to Remote Code Execution in the @prompty/core Nunjucks Renderer","details":"## Summary\nThe TypeScript Nunjucks renderer evaluated untrusted `.prompty` template bodies with unrestricted JavaScript member access. An attacker-controlled template could traverse constructor and prototype properties to execute JavaScript in the host Node.js process.\n\n## Affected packages\n- npm `@prompty/core` versions `<= 0.1.4`\n- npm `@prompty/core` versions `<= 2.0.0-beta.4`\n\n## Impact\nApplications that render untrusted, community-supplied, cloned, or LLM-generated `.prompty` files with the TypeScript runtime could allow attacker-controlled code execution with the privileges of the Node.js host process.\n\n## Remediation\nUpgrade to `@prompty/core` `2.0.0-beta.5` or later. The patched renderer sanitizes render inputs to own-data-only values, rejects constructor/prototype member traversal, and disallows template function calls. Ordinary interpolation, conditionals, loops, and own nested data properties remain supported.\n\n## Fix details\nThe fix is merged in PR #404 and includes regression coverage for default Nunjucks rendering, explicit renderer usage, unsafe member lookups, and attempted template function calls.","published":"2026-08-12T17:31:38.807Z","modified":"2026-10-26T02:30:36.590995746Z","cvss":{"score":10,"severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"},"epss":{"score":0.01215,"percentile":0.66923,"asOf":"2026-09-15"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"@prompty/core","fixedVersion":"0.1.5"},{"ecosystem":"npm","name":"@prompty/core","fixedVersion":"2.0.0-beta.5"}],"fix":{"url":"https://github.com/microsoft/prompty/commit/e4a0ebf49e3a78d5d7796c8480bf9a4f0c54d19e","label":"microsoft/prompty@e4a0ebf"},"references":[{"type":"WEB","url":"https://github.com/microsoft/prompty/tree/typescript/2.0.0-beta.5"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73299.json"},{"type":"ADVISORY","url":"https://github.com/microsoft/prompty/security/advisories/GHSA-w28w-gp39-m4p6"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-73299"},{"type":"FIX","url":"https://github.com/microsoft/prompty/commit/e4a0ebf49e3a78d5d7796c8480bf9a4f0c54d19e"},{"type":"FIX","url":"https://github.com/microsoft/prompty/commit/f5c57c94a0990cca79d095c3daab661b4b1fb89f"},{"type":"FIX","url":"https://github.com/microsoft/prompty/pull/404"},{"type":"FIX","url":"https://github.com/microsoft/prompty/pull/405"},{"type":"WEB","url":"https://github.com/microsoft/prompty/commit/047756f4c8caf91c5868eeb42520c938393277b0"},{"type":"PACKAGE","url":"https://github.com/microsoft/prompty"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-26T02:30:36.590995746Z"}}