Grist Arbitrary Process Execution Vulnerability in Pyodide Sandbox

Vulnerability

A critical vulnerability in Grist spreadsheet software allows arbitrary process execution on the server when formulas are run in a Pyodide sandbox. This issue affects Grist versions prior to 1.7.9. The vulnerability arises because Pyodide on Node lacks a proper sandbox barrier. Users can exploit this by setting the 'GRIST_SANDBOX_FLAVOR' environment variable to 'pyodide' and opening a malicious document. The vulnerability has been patched in Grist version 1.7.9 and later, which runs Pyodide under Deno, a more secure environment.

Impact

Exploitation of this vulnerability could lead to unauthorized execution of processes on the server hosting Grist, potentially allowing attackers to manipulate the server or access sensitive information.

Reproduction

To reproduce this vulnerability, first ensure that Grist is running a version prior to 1.7.9. Set the 'GRIST_SANDBOX_FLAVOR' environment variable to 'pyodide' and start Grist. Then, open a malicious document that exploits this vulnerability. The document can be crafted to include a formula that, when executed, triggers the arbitrary process execution on the server.

Remediation

Users can upgrade to Grist version 1.7.9 or later, where this vulnerability is patched by running Pyodide under Deno. Alternatively, users can use the gvisor-based sandbox by setting 'GRIST_SANDBOX_FLAVOR' to 'gvisor'.

Added: Jan 22, 2026, 3:18 AM
Updated: Jan 22, 2026, 3:18 AM

Vulnerability Rating

Custom Algorithm
spread
0.8
impact
10.0
exploitability
7.0
remediation
8.3
relevance
2.3
threat
1.6
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.