Description
Prompty is a markdown file format (.prompty) for LLM prompts. Prior to 0.1.5 and 2.0.0-beta.5, the 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. This issue is fixed in versions 0.1.5 and 2.0.0-beta.5.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| microsoft | prompty | < 0.1.5, >= 2.0.0-alpha.1, < 2.0.0-beta.5 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | @prompty/core | < 0.1.5 | 0.1.5 | GHSA-w28w-gp39-m4p6 |
| npm | @prompty/core | >= 2.0.0-alpha.1, < 2.0.0-beta.5 | 2.0.0-beta.5 | GHSA-w28w-gp39-m4p6 |
References
- https://github.com/microsoft/prompty/security/advisories/GHSA-w28w-gp39-m4p6
- https://github.com/microsoft/prompty/pull/404
- https://github.com/microsoft/prompty/pull/405
- https://github.com/microsoft/prompty/commit/e4a0ebf49e3a78d5d7796c8480bf9a4f0c54d19e
- https://github.com/microsoft/prompty/commit/f5c57c94a0990cca79d095c3daab661b4b1fb89f
- https://github.com/microsoft/prompty/tree/typescript/2.0.0-beta.5