PatchSiren cyber security CVE debrief
CVE-2026-120338 PrefectHQ CVE debrief
A critical vulnerability was found in Prefab UI's Generative UI sandbox, allowing an attacker to execute arbitrary code as the server OS user. The vulnerability exists in versions 0.14.0 through 0.20.2 and is fixed in version 0.21.0. This issue arises from the sandbox running caller-supplied Python inside Pyodide, which is compiled to WebAssembly and runs in a Deno subprocess with unrestricted permissions. An attacker can exploit this to read and write files as the server OS user, potentially leading to persistence and other security consequences. System administrators, security teams, and developers using Prefab UI's Generative UI feature should be aware of this vulnerability and
- Vendor
- PrefectHQ
- Product
- prefab-ui
- CVSS
- CRITICAL 10
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-11-01
- Original CVE updated
- 2026-11-01
- Advisory published
- 2026-11-01
- Advisory updated
- 2026-11-01
Who should care
System administrators, security teams, and developers using Prefab UI's Generative UI feature should be aware of this vulnerability and take immediate action to upgrade to version 0.21.0 or later.
Why it matters
This critical vulnerability allows an attacker to execute arbitrary code as the server OS user, potentially leading to file read and write access, persistence, and other security consequences. System administrators, security teams, and developers using Prefab UI's Generative UI feature should immediately upgrade to version 0.21.0 or later and restrict access to the feature.
- Code execution as server OS user
- File read and write access as server OS user
- Potential for persistence via .pth file
- Verification of Deno permissions and Generative UI configuration required
Technical summary
The Prefab UI's Generative UI sandbox runs caller-supplied Python inside Pyodide, which is compiled to WebAssembly and runs in a Deno subprocess. However, the launcher starts Deno with unrestricted --allow-read, --allow-write, and --allow-net permissions, and the runner leaves the Deno API on the JavaScript global object. This allows an attacker to read and write files as the server OS user by exploiting the Generative UI sandbox. The fix in version 0.21.0 revokes Deno read, write, and network permission before accepting code, starts the process with --no-prompt, and limits bootstrap network access to cdn.jsdelivr.net.
Defensive priority
High
Recommended defensive actions
- Immediately upgrade to version 0.21.0 or later
- Restrict access to the Generative UI feature
- Monitor for suspicious activity
- Implement additional security measures to prevent exploitation
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
Evidence notes
The vulnerability allows an attacker to read and write files as the server OS user by exploiting the Generative UI sandbox. The sandbox runs caller-supplied Python inside Pyodide, which is compiled to WebAssembly and runs in a Deno subprocess. However, the launcher starts Deno with unrestricted --allow-read, --allow-write, and --allow-net permissions, and the runner leaves the Deno API on the JavaScript global object.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-120338 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-120338
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-120338 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-120338
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/PrefectHQ/prefab
-
Source reference
Unverified legacy reference
URL: https://github.com/PrefectHQ/prefab/commit/030f074f85e0b1be0dd44b0283185aecb26337a2
-
Source reference
Unverified legacy reference
URL: https://github.com/PrefectHQ/prefab/pull/538
-
Source reference
Unverified legacy reference
URL: https://github.com/PrefectHQ/prefab/releases/tag/v0.14.0
-
Source reference
Unverified legacy reference
URL: https://github.com/PrefectHQ/prefab/releases/tag/v0.20.2
-
Source reference
Unverified legacy reference
URL: https://github.com/PrefectHQ/prefab/releases/tag/v0.21.0
-
Source reference
Unverified legacy reference
URL: https://github.com/PrefectHQ/prefab/security/advisories/GHSA-595q-jv4r-q7j9
-
Source reference
Unverified legacy reference
URL: https://pypi.org/project/prefab-ui/
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.