Skip to main content

Grist Core CVE-2026-55664

| EUVDEUVD-2026-43046 MEDIUM
Information Exposure (CWE-200)
2026-07-10 GitHub_M
4.3
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI
5.3 MEDIUM

The description explicitly includes unauthenticated public users on public documents, warranting PR:N; confidentiality impact is low as only schema metadata, not row data, is disclosed.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
Analysis Generated
Jul 10, 2026 - 22:10 vuln.today
Patch available
Jul 10, 2026 - 22:02 EUVD

DescriptionCVE.org

Grist is spreadsheet software using Python as its formula language. Prior to 1.7.15, the GET /forms endpoint read table and column metadata without applying the document's access rules and did not check that the requested section was actually a form. A user with only partial read access, including public access on a publicly viewable document, could request the metadata of any widget and reveal table and column structure that access rules would otherwise hide, even in documents that contain no forms. This issue is fixed in version 1.7.15.

AnalysisAI

Unauthorized schema disclosure in Grist Core prior to 1.7.15 allows any user with partial read access - explicitly including anonymous public users on publicly viewable documents - to retrieve table and column metadata for any widget by querying the GET /forms endpoint. The endpoint failed both to validate that the requested section was a form widget and to apply the document's configured access rules before returning metadata, meaning hidden schema structure (table names, column names, types) is fully exposed regardless of the restrictions in place. No public exploit has been identified and the vulnerability is not in CISA KEV; a vendor-released patch exists in version 1.7.15.

Technical ContextAI

Grist is an open-source spreadsheet application (CPE: cpe:2.3:a:gristlabs:grist-core:*:*:*:*:*:*:*:*) that uses Python as its formula language and implements document-level access control rules to restrict which tables and columns particular users may read. The GET /forms endpoint was introduced to serve metadata for form widgets embedded in documents. The root cause is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): the endpoint performed no authorization gating - it did not check whether the caller's access rules permitted reading the queried section's metadata, nor did it validate that the referenced section was actually a form widget rather than an arbitrary table/column widget. This allowed the endpoint to function as an unrestricted schema introspection API for any caller who could reach the document at all, including the public.

RemediationAI

Upgrade grist-core to version 1.7.15, which is the vendor-confirmed fix per the GitHub release tag at https://github.com/gristlabs/grist-core/releases/tag/v1.7.15 and the security advisory at https://github.com/gristlabs/grist-core/security/advisories/GHSA-w2hc-w6cg-xvh9; the specific patch commit is https://github.com/gristlabs/grist-core/commit/14694156fe99c438c5f7a452ad367e933bb194db. For administrators unable to patch immediately, restricting network-level access to the Grist instance so only trusted, authenticated users can reach the application will eliminate the public-user attack surface; the trade-off is loss of legitimate public document sharing functionality. There is no known configuration toggle to disable the /forms endpoint independently without patching.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

Share

CVE-2026-55664 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy