Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2026-24002: CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') in gristlabs grist-core

0
Critical
VulnerabilityCVE-2026-24002cvecve-2026-24002cwe-74
Published: Thu Jan 22 2026 (01/22/2026, 02:26:28 UTC)
Source: CVE Database V5
Vendor/Project: gristlabs
Product: grist-core

Description

CVE-2026-24002 is a critical vulnerability in grist-core spreadsheet software versions prior to 1. 7. 9. It arises from improper sandboxing of Python formulas executed via pyodide on Node. js, allowing malicious spreadsheet documents to execute arbitrary processes on the server. The vulnerability is due to CWE-74, improper neutralization of special elements in output used by downstream components, leading to injection attacks. Exploitation requires no authentication or user interaction beyond opening a malicious document with the vulnerable sandbox setting. The issue is mitigated in grist-core 1. 7. 9 and later by running pyodide under the Deno runtime, which provides stronger sandboxing.

AI-Powered Analysis

AILast updated: 01/29/2026, 08:53:55 UTC

Technical Analysis

CVE-2026-24002 is a critical injection vulnerability in grist-core, a spreadsheet software that uses Python as its formula language. Grist provides multiple sandboxing methods to safely execute user formulas, including running them in pyodide, a WebAssembly-based Python runtime. However, when pyodide is run on Node.js, it lacks effective sandbox barriers, allowing malicious spreadsheet documents to execute arbitrary processes on the hosting server if the environment variable GRIST_SANDBOX_FLAVOR is set to 'pyodide'. This vulnerability stems from CWE-74, indicating improper neutralization of special elements in output used by a downstream component, which in this case is the pyodide runtime environment. The flaw enables remote code execution without requiring authentication or user interaction beyond opening a crafted document. The vulnerability affects all grist-core versions prior to 1.7.9. The issue has been addressed in version 1.7.9 by switching the pyodide runtime to run under Deno, a secure runtime for JavaScript and TypeScript that provides stronger sandboxing capabilities. As an interim mitigation, users can configure the sandbox flavor to 'gvisor', which uses a container-based sandboxing approach to isolate execution. The CVSS v3.1 score of 9.1 reflects the critical nature of this vulnerability, with network attack vector, high complexity, no privileges required, no user interaction, and a scope change that impacts confidentiality, integrity, and availability of the server. No known exploits are currently reported in the wild, but the severity and ease of exploitation make this a high-risk issue for deployments of grist-core in server environments.

Potential Impact

For European organizations, this vulnerability poses a significant risk of server compromise, potentially leading to unauthorized data access, data manipulation, or service disruption. Organizations using grist-core to handle sensitive or regulated data (e.g., financial, healthcare, or personal data under GDPR) could face severe confidentiality breaches and compliance violations. The ability for an attacker to execute arbitrary processes on the server can lead to full system compromise, lateral movement within networks, and persistent footholds. This risk is amplified in multi-tenant or cloud-hosted environments where grist-core servers may be shared or exposed to external users. The critical CVSS score underscores the potential for widespread impact if exploited. European entities with stringent data protection laws must prioritize remediation to avoid legal and reputational damage. Additionally, disruption of business operations due to service unavailability could have financial and operational consequences.

Mitigation Recommendations

European organizations should immediately upgrade grist-core installations to version 1.7.9 or later, which implements the secure pyodide sandbox under Deno. Until upgrading is possible, reconfigure the environment variable GRIST_SANDBOX_FLAVOR to 'gvisor' to leverage container-based sandboxing that isolates formula execution more effectively. Conduct thorough audits of existing grist-core deployments to identify any instances running vulnerable versions with the pyodide sandbox on Node.js. Implement network segmentation and strict access controls around grist-core servers to limit exposure. Monitor logs for unusual process executions or anomalies indicative of exploitation attempts. Employ application-layer firewalls or runtime application self-protection (RASP) solutions to detect and block suspicious activity. Educate users about the risks of opening untrusted spreadsheet documents. Finally, maintain up-to-date backups and incident response plans to quickly recover from potential compromises.

Need more detailed analysis?Upgrade to Pro Console

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2026-01-19T18:49:20.658Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 697190914623b1157c0cb7fe

Added to database: 1/22/2026, 2:50:57 AM

Last enriched: 1/29/2026, 8:53:55 AM

Last updated: 2/7/2026, 4:09:09 PM

Views: 87

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats