GitHub Advisoryadvisory · npm

GHSA-c4gh-rv8h-q9vw Prompty: Arbitrary code execution via JavaScript frontmatter in TypeScript loader

HIGH Published 2026-07-17 Modified 2026-07-17 Official page ↗
Aliases
CVE-2026-53597
Ecosystem
npm
Packages
@prompty/core
Severity
High
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weaknesses
CWE-94
Reviewed
2026-07-17

Affected packages

• npm @prompty/core: >= 2.0.0-alpha.1, < 2.0.0-beta.3 → fixed in 2.0.0-beta.3

Description

Summary The TypeScript Prompty loader used `gray-matter` without overriding executable frontmatter engines. `gray-matter` supports JavaScript frontmatter blocks such as `---js` and evaluates them while parsing. An attacker-controlled `.prompty` file could therefore execute arbitrary JavaScript during prompt loading. Affected package • npm `@prompty/core` v2 prerelease line: `>= 2.0.0-alpha.1 < 2.0.0-beta.3` • Fixed in `@prompty/[email protected]` The legacy v1 JavaScript runtime had a historical hardening change for this issue. During the v2 TypeScript runtime rebuild, the loader again called `gray-matter` directly and the vulnerable behavior was present in the v2 prerelease packages until `2.0.0-beta.3`. Impact Applications that load untrusted `.prompty` files, user-provided prompt paths, or prompt bundles from less-trusted locations could execute arbitrary JavaScript in the host Node.js process during frontmatter parsing. Remediation Upgrade `@prompty/core` to `2.0.0-beta.3` or later. The fix explicitly overrides the `js` and `javascript` gray-matter engines and rejects JavaScript frontmatter in `.prompty` files. Prompty frontmatter is YAML-only; executable frontmatter is unsupported. A regression test now verifies that `---js` frontmatter is rejected and not evaluated. Fix details Fixed by commit `c27402da2487075be577f06aa79df627fb9d6853` and released via `typescript/2.0.0-beta.3`.

Related

Alias · CVE (1)

  • CVE-2026-53597 Prompty is a markdown file format (.prompty) for LLM prompts. vulnerability

Weakness · CWE (1)

  • CWE-94 Improper Control of Generation of Code weakness

References