Description
Grist is spreadsheet software using Python as its formula language. Prior to 1.7.15, several server-rendered Grist pages embedded user-controlled values into the page and into inline scripts without fully escaping them, allowing cross-site scripting. On the main application page, a document's name or description, set by a document editor, is rendered into the page that other users load when opening the document. On the OAuth2 end-of-flow page, the openerOrigin request parameter was reflected back into the served page. Injected script runs in the victim's Grist origin and can act through the authenticated session, reading or modifying data and changing sharing settings and access rules. A document editor could therefore escalate to owner-level access. This issue is fixed in version 1.7.15.
Published: 2026-07-10
Score: 7.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Grist spreadsheet software uses Python formulas and inadvertently renders user‑supplied values without proper escaping in server‑side templates. When a document name or description is inserted into the HTML, or when the OAuth2 end‑of‑flow page reflects the openerOrigin parameter, the value is embedded directly into a script context, creating a cross‑site scripting vulnerability. An attacker can craft a document or manipulate the OAuth2 parameter so that the victim’s browser executes malicious code under the victim’s Grist identity. This allows the attacker to read, modify, or delete data, to change sharing settings, and to elevate privileges to owner level on affected documents.

Affected Systems

The affected product is Grist‑Core by Grist Labs. All releases prior to 1.7.15 in the 1.7 series contain the flaw. The issue is fixed in version 1.7.15 and later releases; deployments using earlier versions must be upgraded.

Risk and Exploitability

The CVSS score of 7.7 classifies the vulnerability as high severity. The EPSS score of < 1 % indicates a low probability of exploitation, and the flaw is not listed in the CISA KEV catalog. The likely attack vector is a malicious or compromised user who can create or edit a document or manipulate the OAuth2 redirect, causing the page to render unsanitized user input. Exploitation would give the attacker the victim’s authenticated session privileges, enabling data exfiltration, modification, and potential privilege escalation within the Grist environment.

Generated by OpenCVE AI on July 29, 2026 at 10:00 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the Grist Core update to version 1.7.15 or later, which removes the XSS flaw
  • Re‑evaluate and, if necessary, revoke any elevated sharing permissions that may have been granted through exploited content
  • Implement strict input validation or output encoding on document names, descriptions, and OAuth2 parameters to prevent future injection attempts

Generated by OpenCVE AI on July 29, 2026 at 10:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 13 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 10 Jul 2026 23:15:00 +0000

Type Values Removed Values Added
First Time appeared Gristlabs
Gristlabs grist-core
Vendors & Products Gristlabs
Gristlabs grist-core

Fri, 10 Jul 2026 21:15:00 +0000

Type Values Removed Values Added
Description Grist is spreadsheet software using Python as its formula language. Prior to 1.7.15, several server-rendered Grist pages embedded user-controlled values into the page and into inline scripts without fully escaping them, allowing cross-site scripting. On the main application page, a document's name or description, set by a document editor, is rendered into the page that other users load when opening the document. On the OAuth2 end-of-flow page, the openerOrigin request parameter was reflected back into the served page. Injected script runs in the victim's Grist origin and can act through the authenticated session, reading or modifying data and changing sharing settings and access rules. A document editor could therefore escalate to owner-level access. This issue is fixed in version 1.7.15.
Title Grist: XSS through unsafe value interpolation in server-rendered pages
Weaknesses CWE-116
CWE-79
References
Metrics cvssV3_1

{'score': 7.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N'}


Subscriptions

Gristlabs Grist-core
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-13T16:01:23.973Z

Reserved: 2026-06-17T00:05:03.777Z

Link: CVE-2026-55659

cve-icon Vulnrichment

Updated: 2026-07-13T16:01:20.568Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T10:15:06Z

Weaknesses
  • CWE-116

    Improper Encoding or Escaping of Output

  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')