<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Orval - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/orval/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 02 Sep 2026 18:03:05 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/orval/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Remote Code Execution in Orval via Malicious Zod Schema Generation</title><link>https://feed.craftedsignal.io/briefs/2026-09-orval-rce/</link><pubDate>Wed, 02 Sep 2026 18:03:05 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-orval-rce/</guid><description>Orval versions prior to 8.21.0 are vulnerable to remote code execution during module import due to improper sanitization of OpenAPI query parameter default values in generated Zod schemas.</description><content:encoded><![CDATA[<p>Orval, a popular tool for generating TypeScript clients and Zod schemas from OpenAPI specifications, contains a critical vulnerability (CVE-2026-72716) that allows for remote code execution. The issue stems from the way the tool emits query parameter default values within the generated Zod schema modules. Specifically, these values are written as module-level template literals (e.g., <code>export const …Default = </code>&lt;default&gt;<code>;</code>) without adequate escaping of backticks or the <code>${</code> character sequence.</p>
<p>An attacker who can provide or influence an OpenAPI specification can include a crafted default value containing a JavaScript expression, such as <code>v${&lt;attacker-controlled-JS&gt;}w</code>. When an application imports the generated Zod schema module, the JavaScript engine evaluates the interpolated expression, leading to arbitrary code execution within the context of the importing process. This vulnerability is present in Orval version 8.19.0 and affects all versions prior to 8.21.0. The exploit requires no additional API interaction once the malicious schema is generated and integrated into the victim's codebase.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in arbitrary code execution during the build or runtime import phase of any application relying on Orval-generated schemas. This poses a significant risk to CI/CD pipelines, build servers, and runtime environments that process untrusted OpenAPI descriptions. The scope includes any application that integrates Orval to generate schemas from attacker-influenced input sources, such as public repositories or user-submitted API documentation.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized, concrete actions for development and security teams:</p>
<ul>
<li>Upgrade Orval to version 8.21.0 or later immediately to resolve CVE-2026-72716.</li>
<li>Audit existing OpenAPI specifications used in build processes to ensure <code>default</code> values do not contain suspicious syntax like <code>${</code> or backticks.</li>
<li>If immediate patching is not possible, implement strict validation of OpenAPI specification files before feeding them into the Orval generator.</li>
<li>Review build pipeline logs for unexpected execution of JavaScript modules generated by Orval.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>supply-chain</category><category>rce</category><category>nodejs</category><category>typescript</category></item></channel></rss>