CVE-2026-105220 Twine 2 Desktop through 2.12.0 Arbitrary Code Execution via Imported Story Files
Attackers can execute arbitrary code by tricking users into importing malicious story files containing XSS payloads in Twine 2 Desktop.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-105220?
CVE-2026-105220 is a high-severity cross-site scripting vulnerability in klembot twinejs, published on 4 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
Twine 2 desktop through 2.12.0 contains a cross-site scripting vulnerability in importStories() that executes markup from imported story files in the editor window. Attackers can craft a story file whose script calls the twineElectron openWithScratchFile IPC bridge to write and open a .bat file, executing code as the user.
Weakness: CWE-79
Which versions are affected by CVE-2026-105220?
How do I fix CVE-2026-105220?
No fix has been published for CVE-2026-105220 yet. Limit exposure of the affected software until one is available.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-105220 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-105220 exists.
Sources
Also known as GHSA-qx8m-f384-xrj3.