CVE-2026-105220
twinejs: Twine 2 Desktop through 2.12.0 Arbitrary Code Execution via Imported Story Files
klembot twinejs
CVSS
8.5HighExploitationPublic exploit codeCISA's assessment says proof of concept code is public, assessed 5 Oct 2026. Not in the KEV catalogCISA via CVE List
Exploit odds (EPSS)0.15%Chance of exploitation activity in the next 30 days, higher than 3% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed inNone listedNo source names a fixed version. Check the vendor advisory below
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
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.
Text from CVE List
Affected versions 1
- twinejsaffected: all versions through 2.12.0CVE List
References 7
- github.com/klembot/twinejs/commit/8e8a2bef5b1e20c58b99d22a2a4d8d867fb421cbFixvia CVE List
- github.com/klembot/twinejs/commit/3a9af28cabe9684730beb8b578132cad9bb5bc60Fixvia CVE List
- vulncheck.com/advisories/twine-2-desktop-through-2.12.0-arbitrary-code-execution-via-imported-story-filesAdvisoryvia CVE List
- github.com/klembot/twinejs/issues/1706Exploitvia CVE List
- github.com/klembot/twinejsReferencevia CVE List
- github.com/klembot/twinejs/blob/2.12.0/src/util/import.ts#L134-L136Referencevia CVE List
- github.com/klembot/twinejs/blob/2.12.0/src/electron/main-process/scratch-file.ts#L57-L63Referencevia CVE List