Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Vaadin spreadsheet app
-
DeliveryTarget protection-enabled sheet
-
ExploitSend crafted updateCellComment RPC
-
ExecutionBypass locked-cell authorization check
-
PersistWrite/replace comment or create cell
-
ImpactTamper with protected sheet data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires: (1) an application built on an affected Vaadin/Vaadin-Spreadsheet version that actually renders a spreadsheet component to users; (2) the target sheet must have sheet protection enabled (the flaw is the failure to enforce that protection for the comment-write path); and (3) a valid authenticated session with the application (PR:L) - this is not remote-unauthenticated. There is no user-interaction requirement and complexity is low, but impact is confined to cell-comment integrity and phantom row/cell creation; no confidentiality or availability impact. Deployments that do not use the Spreadsheet component, do not enable sheet protection, or restrict spreadsheet access to trusted authenticated users face little practical risk. |
| Impact | This is a genuinely low-risk authorization flaw, and the multiple signals are consistent rather than conflicting. The vendor-assigned CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) requires an authenticated user (PR:L) and yields only a low integrity impact (VI:L) with no confidentiality (VC:N) or availability (VA:N) effect, giving a base score of 5.3 - which correctly reflects a limited-impact issue rather than a critical one. No EPSS score, no CISA KEV listing, and no public exploit code were provided; the GitHub links are the vendor's own fix pull requests (patch/test diffs), NOT weaponized proof-of-concept exploits, so they should not be read as evidence of exploitability in the wild. The realistic ceiling of this bug is that an already-authenticated application user can tamper with cell comments on a 'protected' sheet and cause phantom row/cell creation - a data-integrity nuisance, not data theft or code execution. This is a low-priority, patch-in-normal-cycle issue: the CVSS-to-real-risk relationship is honest here, with no inflation. The only mild caveat is that the tag labels this 'Authentication Bypass' when it is actually broken authorization (CWE-285) - no authentication step is defeated; a legitimately authenticated user simply exceeds their intended write permissions on protected cells. |
| Exploit ScenarioDerived | An authenticated user of a Vaadin application that renders a spreadsheet with sheet protection enabled crafts or replays the client-side 'updateCellComment' RPC event targeting a locked cell (or an empty cell). The server-side handler applies the comment without checking the cell's locked/editable state, so the attacker adds or overwrites comments on protected cells and can even materialize new rows/cells that did not previously exist. No public exploit code is available; the referenced GitHub pull requests are the vendor's remediation, and exploitation requires an authenticated session (PR:L) but no user interaction or special complexity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
The Vaadin Spreadsheet component fails to enforce sheet protection when writing cell comments, so any authenticated user of an application that renders a spreadsheet can insert or overwrite comments on a protected sheet - including on cells that are explicitly locked - and can write a comment to a cell that does not yet exist, which creates the underlying row and cell. Only logged-in users of the host application are affected (CVSS v4.0 base 5.3; independent assessment CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N), and the impact is confined to spreadsheet integrity: no confidentiality or availability impact, no user interaction, and low attack complexity. Exploitation requires the Spreadsheet component to actually be rendered, sheet protection to be enabled, and a valid session; no public exploit code or CISA KEV entry is identified at time of analysis. Fixed releases (Vaadin 23.6.14, 24.9.22, 24.10.10, 25.1.12, 25.2.7 and Spreadsheet add-on 3.1.1) are available per the vendor advisory.
RemediationAI
Upgrade to the vendor-released fixed versions: Vaadin 23.6.14, 24.9.22, 24.10.10, 25.1.12 or 25.2.7 (or newer), updating both com.vaadin:vaadin and com.vaadin:vaadin-spreadsheet-flow, and upgrade the Spreadsheet add-on to 3.1.1 for Vaadin Framework 7/8 deployments; users on unsupported Vaadin 10-13 and 15-22 must move to the latest 23/24/25 line. The patches are published as upstream PRs referenced by the advisory (flow-components PRs 9905, 9906, 9907, 9908, 9909, 9910 and 9956; vaadin/spreadsheet PR 866) - see https://vaadin.com/security/cve-2026-93547 for the full artifact matrix. Where upgrading is not immediately possible, the practical compensating controls are: do not expose spreadsheet views to untrusted authenticated users (restrict the view to trusted roles), and where the application does not need user-entered comments, keep comment editing disabled or remove the comment capability in the host application - this prevents the affected event path from being reached at the cost of losing comment functionality. A code-level workaround is to subclass the spreadsheet component and override the comment handler in SpreadsheetHandlerImpl (the fix exposes getSpreadsheetHandler() for this purpose) to reject writes to locked cells; this requires custom code and maintenance against the RPC handler, and any bypass of that check reintroduces the flaw. Because impact is limited to comment/row integrity with no data disclosure or denial of service, patching can be scheduled on a normal cadence rather than treated as an emergency.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-285 (Improper Authorization): the comment-write path of the spreadsheet component omitted the locked-cell guard that other edit paths already applied. In affected builds the client-side 'updateCellComment' event was handled without consulting the cell's protected/locked state, whereas operations such as paste and clear-on-cut in SpreadsheetHandlerImpl already checked isCellLocked(). The upstream fixes add an isCellEditable(Cell) helper that returns true when the active sheet is unprotected, false for a null (non-existent) cell, and otherwise honours the cell's CellStyle.getLocked() flag together with row-level and column-level CellStyle locked flags resolved from the sheet's style index 0 default, and each write path now calls protectedCellWriteAttempted() and returns instead of proceeding. The affected technology stack is Apache POI-backed Excel (.xlsx) rendering exposed through Vaadin Flow server-side components and the legacy Vaadin Framework 7/8 Spreadsheet add-on; CPE data confirms three affected artifacts - vaadin:vaadin, vaadin:vaadin-spreadsheet-flow and vaadin:vaadin-spreadsheet. The named remediation references are Vaadin PRs 9905-9910 and 9956 in vaadin/flow-components plus PR 866 in vaadin/spreadsheet, and the vendor advisory at https://vaadin.com/security/cve-2026-93547.
Know when Vaadin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Authenticated app user (PR:L) over the network with no interaction bypasses a locked-cell write check; impact is limited comment/data tampering (I:L) with no confidentiality or availability effect.
Primary rating from Vendor (Vaadin).
CVSS VectorVendor: Vaadin
Lifecycle Timeline
1DescriptionCVE.org
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
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Missing output sanitization in test sources in org.webjars.bowergithub.vaadin:vaadin-menu-bar versions 1.0.0 through 1.2
Insecure temporary directory usage in frontend build functionality of com.vaadin:flow-server versions 2.0.9 through 2.5.
The default configuration of a TreeGrid component uses Object::toString as a key on the client-side and server communica
Unsafe validation RegEx in EmailValidator component in com.vaadin:vaadin-compatibility-server versions 8.0.0 through 8.1
Overly relaxed configuration of frontend resources server in Vaadin Designer versions 4.3.0 through 4.6.3 allows remote
Vulnerability in OSGi integration in com.vaadin:flow-server versions 1.2.0 through 2.4.7 (Vaadin 12.0.0 through 14.4.9),
Unsafe validation RegEx in EmailField component in com.vaadin:vaadin-text-field-flow versions 2.0.4 through 2.3.2 (Vaadi
Authentication.logout() helper in com.vaadin:flow-client versions 5.0.0 prior to 6.0.0 (Vaadin 18), and 6.0.0 through 6.
When adding non-visible components to the UI in server side, content is sent to the browser in Vaadin 10.0.0 through 10.
Deep-merge prototype pollution in Vaadin Charts and Vaadin Component Base lets remote, unauthenticated attackers write a
Authentication bypass in Vaadin framework (14.0.0-14.14.0, 23.0.0-23.6.x, and other ranges). The web application framewo
Improper sanitization of path in default RouteNotFoundError view in com.vaadin:flow-server versions 1.0.0 through 1.0.14
EUVD-2026-89952
GHSA-74m8-whmf-rxrq
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB