{"api_version":"1","generated_at":"2026-07-11T03:50:54+00:00","cve":"CVE-2026-55664","urls":{"html":"https://cve.report/CVE-2026-55664","api":"https://cve.report/api/cve/CVE-2026-55664.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-55664","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-55664"},"summary":{"title":"Grist: Insufficient access control in the /forms endpoint exposes table metadata","description":"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.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-07-10 21:16:56","updated_at":"2026-07-10 21:16:56"},"problem_types":["CWE-200","CWE-285","CWE-200 CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","CWE-285 CWE-285: Improper Authorization"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"4.3","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","baseScore":4.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"4.3","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":4.3,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/gristlabs/grist-core/security/advisories/GHSA-w2hc-w6cg-xvh9","name":"https://github.com/gristlabs/grist-core/security/advisories/GHSA-w2hc-w6cg-xvh9","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/gristlabs/grist-core/releases/tag/v1.7.15","name":"https://github.com/gristlabs/grist-core/releases/tag/v1.7.15","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/gristlabs/grist-core/commit/14694156fe99c438c5f7a452ad367e933bb194db","name":"https://github.com/gristlabs/grist-core/commit/14694156fe99c438c5f7a452ad367e933bb194db","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-55664","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55664","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"gristlabs","product":"grist-core","version":"affected < 1.7.15","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"grist-core","vendor":"gristlabs","versions":[{"status":"affected","version":"< 1.7.15"}]}],"descriptions":[{"lang":"en","value":"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."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":4.3,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-200","description":"CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-285","description":"CWE-285: Improper Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-07-10T20:59:12.603Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/gristlabs/grist-core/security/advisories/GHSA-w2hc-w6cg-xvh9","tags":["x_refsource_CONFIRM"],"url":"https://github.com/gristlabs/grist-core/security/advisories/GHSA-w2hc-w6cg-xvh9"},{"name":"https://github.com/gristlabs/grist-core/commit/14694156fe99c438c5f7a452ad367e933bb194db","tags":["x_refsource_MISC"],"url":"https://github.com/gristlabs/grist-core/commit/14694156fe99c438c5f7a452ad367e933bb194db"},{"name":"https://github.com/gristlabs/grist-core/releases/tag/v1.7.15","tags":["x_refsource_MISC"],"url":"https://github.com/gristlabs/grist-core/releases/tag/v1.7.15"}],"source":{"advisory":"GHSA-w2hc-w6cg-xvh9","discovery":"UNKNOWN"},"title":"Grist: Insufficient access control in the /forms endpoint exposes table metadata"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-55664","datePublished":"2026-07-10T20:59:12.603Z","dateReserved":"2026-06-17T00:05:03.777Z","dateUpdated":"2026-07-10T20:59:12.603Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-10 21:16:56","lastModifiedDate":"2026-07-10 21:16:56","problem_types":["CWE-200","CWE-285","CWE-200 CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","CWE-285 CWE-285: Improper Authorization"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","baseScore":4.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":1.4}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"55664","Ordinal":"1","Title":"Grist: Insufficient access control in the /forms endpoint expose","CVE":"CVE-2026-55664","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"55664","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"Grist: Insufficient access control in the /forms endpoint expose"}]}}}