pyodide sandbox option is insecure
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA.
Summary
Grist is spreadsheet software using Python as its formula language. Grist offers several methods for running those formulas in a sandbox, for cases where the user may be working with untrusted spreadsheets. One such method runs them in pyodide, but pyodide on node does not have a useful sandbox barrier. If a user of Grist sets `GRIST_SANDBOX_FLAVOR` to `pyodide` and opens a malicious document, that document could run arbitrary processes on the server hosting Grist. The problem has been addressed in Grist version 1.7.9 and up, by running pyodide under deno. As a workaround, a user can use the gvisor-based sandbox by setting `GRIST_SANDBOX_FLAVOR` to `gvisor`.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA grist-core (gristlabs) Fixed in 1.7.9
Timeline
- 2026-10-02 Threatist record created from CVE-2026-24002
References
More gristlabs Grist-core vulnerabilities
- TI-2024-37319 Cross-site Scripting vulnerability through HyperLink cells in grist-core CVSS 3.1HIGH 8.1
- TI-2024-37318 Cross-site Scripting vulnerability through svg attachment previews in grist-core CVSS 3.1HIGH 8.1
- TI-2024-37317 Cross-site Scripting vulnerability through custom widget URLs and form redirect URLs in grist-core CVSS 3.1HIGH 8.1
- TI-2025-40090 grist-core has path to server-side requests via websocket CVSS 3.1MEDIUM 6.8
- TI-2025-40091 grist-core has insufficient access control in endpoints for comparisons between documents and versions CVSS 3.1MEDIUM 6.5
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences