Vulnerability · Published Jan 22, 2026 · Assigned by GitHub_M
CVE-2026-24002pyodide sandbox option is insecure
Critical 9.1
In plain English
A critical-severity injection in grist-core from gristlabs. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 44% of all known vulnerabilities).
Official description
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`.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| gristlabs | grist-core | < 1.7.9 |
Weakness: CWE-74 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
References
- https://github.com/gristlabs/grist-core/security/advisories/GHSA-7xvx-8pf2-pv5g x_refsource_CONFIRM
- https://support.getgrist.com/self-managed/#how-do-i-sandbox-documents x_refsource_MISC