Prompty: Server-Side Template Injection to Remote Code Execution in the @prompty/core Nunjucks Renderer
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-73299
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 03:04 UTC · Revision 1
Source evidence
Prompty: Server-Side Template Injection to Remote Code Execution in the @prompty/core Nunjucks Renderer
core-osv · Original sourcePublished 12 Aug 2026, 17:31 UTC
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.
osv:CVE-2026-73299
Complete source record
{
"id": "7f8153db358c0005df219a126f8defa6188683c1af8b9da494f6545991915ba6",
"url": "https://osv.dev/vulnerability/CVE-2026-73299",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Prompty: Server-Side Template Injection to Remote Code Execution in the @prompty/core Nunjucks Renderer",
"summary": "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.",
"evidence": "osv:CVE-2026-73299",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-73299",
"aliases": [
"CVE-2026-73299",
"GHSA-w28w-gp39-m4p6"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/microsoft/prompty",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "8ea0e74222e1e35b51232878b1ae32adecf1ac14"
},
{
"introduced": "30acb714bf68259760916c97b0c8fdaf1c5a75a0"
},
{
"fixed": "d8891f66b93bfa37f0611186258c953e12e87fd3"
},
{
"fixed": "e4a0ebf49e3a78d5d7796c8480bf9a4f0c54d19e"
},
{
"fixed": "f5c57c94a0990cca79d095c3daab661b4b1fb89f"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.1.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "2.0.0-alpha.1"
},
{
"fixed": "2.0.0-beta.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "e4a0ebf49e3a78d5d7796c8480bf9a4f0c54d19e"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "f5c57c94a0990cca79d095c3daab661b4b1fb89f"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"csharp/2.0.0-beta.3",
"rust/2.0.0-beta.3",
"typescript/2.0.0-beta.4",
"python/2.0.0b3",
"typescript/2.0.0-beta.3",
"python/2.0.0b2",
"typescript/2.0.0-beta.2",
"rust/2.0.0-beta.2",
"csharp/2.0.0-beta.2",
"python/2.0.0b1",
"typescript/2.0.0-beta.1",
"rust/2.0.0-beta.1",
"csharp/2.0.0-beta.1",
"rust/2.0.0-alpha.12",
"typescript/2.0.0-alpha.11",
"rust/2.0.0-alpha.11",
"python/2.0.0a11",
"csharp/2.0.0-alpha.11",
"csharp/2.0.0-alpha.10",
"rust/2.0.0-alpha.10",
"typescript/2.0.0-alpha.10",
"python/2.0.0a10",
"rust/2.0.0-alpha.9",
"typescript/2.0.0-alpha.9",
"python/2.0.0a9",
"csharp/2.0.0-alpha.9",
"rust/2.0.0-alpha.8",
"typescript/2.0.0-alpha.8",
"python/2.0.0a8",
"csharp/2.0.0-alpha.8",
"typescript/2.0.0-alpha.7",
"csharp/2.0.0-alpha.7",
"python/2.0.0a7",
"csharp/2.0.0-alpha.6",
"typescript/2.0.0-alpha.6",
"python/2.0.0a6",
"csharp/2.0.0-alpha.2",
"csharp/2.0.0-alpha.1",
"python/0.1.4",
"python/0.1.3",
"python/0.1.2",
"python/0.1.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73299.json"
}
}
],
"modified": "2026-10-28T02:30:49.120014686Z",
"provider": "osv",
"references": [
"https://github.com/microsoft/prompty/tree/typescript/2.0.0-beta.5",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73299.json",
"https://github.com/microsoft/prompty/security/advisories/GHSA-w28w-gp39-m4p6",
"https://nvd.nist.gov/vuln/detail/CVE-2026-73299",
"https://github.com/microsoft/prompty/commit/e4a0ebf49e3a78d5d7796c8480bf9a4f0c54d19e",
"https://github.com/microsoft/prompty/commit/f5c57c94a0990cca79d095c3daab661b4b1fb89f",
"https://github.com/microsoft/prompty/pull/404",
"https://github.com/microsoft/prompty/pull/405"
],
"provider_metadata": {
"cwe_ids": [
"CWE-1336",
"CWE-94"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73299.json"
}
},
"related_cves": [
{
"value": "CVE-2026-73299",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 517601,
"published_at": "2026-08-12T17:31:38.807+00:00"
}