VDB
KO
CRITICAL 10.0

GHSA-w28w-gp39-m4p6

Prompty: Server-Side Template Injection to Remote Code Execution in the @prompty/core Nunjucks Renderer

Quick fix

GHSA-w28w-gp39-m4p6 — @prompty/core: upgrade to the fixed version with the command below.

npm install @prompty/core@0.1.5

Details

## Summary 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.

## Affected packages - npm `@prompty/core` versions `<= 0.1.4` - npm `@prompty/core` versions `<= 2.0.0-beta.4`

## Impact Applications 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.

## Remediation Upgrade 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.

## Fix details The 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.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / @prompty/core
Introduced in: 0 Fixed in: 0.1.5
Fix npm install @prompty/core@0.1.5
npm / @prompty/core
Introduced in: 2.0.0-alpha.1 Fixed in: 2.0.0-beta.5
Fix npm install @prompty/core@2.0.0-beta.5

References