Kroki: TikZ Secure Mode Local File Read via LaTeX File I/O Primitives
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-22 and the CVSS impact.
Summary
Kroki creates diagrams from textual descriptions. Prior to 0.31.2, the TikZ backend's tikz/tikz2svg guard used when KROKI_SAFE_MODE is enabled blocks only \verbatiminput while allowing native TeX file-read primitives including \openin, \read, \input, and \include. TeX Live's permissive openin_any setting remains active, so an unauthenticated actor can submit crafted LaTeX to POST /tikz/svg or the generic diagram API and cause the renderer to read any file accessible to the Kroki container user. The file contents are rendered into the returned SVG, which may disclose mounted secrets, configuration data, credentials, private keys, or process environment data. The -no-shell-escape option prevents shell execution but does not restrict these native file operations. This issue is fixed in version 0.31.2.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
- Fix · CNA kroki (yuzutech) Fixed in 0.31.2
Timeline
- 2026-11-06 Threatist record created from CVE-2026-102359
- 2026-11-08 Priority changed: MEDIUM → LOW
References
More yuzutech vulnerabilities
- TI-2025-13586 due to insufficient sanitazation in Vega’s `convert()` function when `safeMode` is… CVSS 4.0HIGH 8.7
- TI-2026-86048 Server-side request forgery in Kroki Mermaid companion via image URLs CVSS 3.1MEDIUM 5.0
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences