{"id":"GHSA-w28w-gp39-m4p6","revision":"93f9cff52f524bd9969b59007248704a","records":[{"revision":"93f9cff52f524bd9969b59007248704a","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-w28w-gp39-m4p6","aliases":["CVE-2026-73299"],"title":"Prompty: Server-Side Template Injection to Remote Code Execution in the @prompty/core Nunjucks Renderer","description":"## 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.","state":0,"publishedAt":"2026-07-24T16:23:59+00:00","modifiedAt":"2026-08-13T04:11:08.0154715+00:00","affected":[{"ecosystem":"npm","name":"@prompty/core","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"0.1.5"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"npm","name":"@prompty/core","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"2.0.0-alpha.1"},{"kind":"fixed","version":"2.0.0-beta.5"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"CRITICAL"}],"references":["https://github.com/microsoft/prompty/security/advisories/GHSA-w28w-gp39-m4p6","https://github.com/microsoft/prompty/pull/404","https://github.com/microsoft/prompty/commit/047756f4c8caf91c5868eeb42520c938393277b0","https://github.com/microsoft/prompty"],"sourceUrl":"https://github.com/advisories/GHSA-w28w-gp39-m4p6","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-w28w-gp39-m4p6","identifiers":["GHSA-w28w-gp39-m4p6","CVE-2026-73299"]},"retained":false,"historicalAffected":[]}],"coverage":[]}