Reflected cross-site scripting in Vitess vttablet /twopcz endpoint
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Vitess versions before 23.0.5 and from 24.0.0 before 24.0.2 are affected. The twopczHandler function writes the Action and dtid form values into an HTML response without escaping, which causes reflected cross-site scripting (CWE-79). A remote unauthenticated attacker can send an operator a crafted request that runs script in the operator's browser when it is opened, under the default allow-all ACL policy. A public exploit is linked in the references.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
Vitess is a database clustering system for horizontal scaling of MySQL. Prior to 23.0.5 and 24.0.2, twopczHandler in go/vt/vttablet/tabletserver/twopcz.go writes the Action and dtid form values from the vttablet and vtcombo /twopcz HTTP debug endpoint into a text/html response without HTML escaping. Under the default allow-all ACL policy, a remote unauthenticated attacker can send an operator a crafted request that executes script in the operator's browser after the request is opened. The script runs with the vttablet debug origin and can read same-origin diagnostic endpoints that expose query, transaction, environment, variable, or profiling data available in that deployment. This issue is fixed in versions 23.0.5 and 24.0.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| backstage | vitess | before 23.0.5; 24.0.0 to before 24.0.2 | 23.0.5, 24.0.2 | Patch available | CNA |
| — | vitess.io/vitess (Go) | before 0.23.5 | 0.23.5 | Patch available | GHSA-v75v-6fpf-gvw8 |
| — | vitess.io/vitess (Go) | 0.24.0 to before 0.24.2 | 0.24.2 | Patch available | GHSA-v75v-6fpf-gvw8 |
- vitess Vendorbackstage Affected before 23.0.5; 24.0.0 to before 24.0.2 Fixed in 23.0.5, 24.0.2 Patch available CNA
- vitess.io/vitess (Go) Vendor— Affected before 0.23.5 Fixed in 0.23.5 Patch available GHSA-v75v-6fpf-gvw8
- vitess.io/vitess (Go) Vendor— Affected 0.24.0 to before 0.24.2 Fixed in 0.24.2 Patch available GHSA-v75v-6fpf-gvw8
Remediation
Upgrade Vitess to 23.0.5 or 24.0.2, or upgrade the Go module vitess.io/vitess to 0.23.5 or 0.24.2.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA vitess (vitessio) Fixed in 23.0.5, 24.0.2
- Fix · GHSA-v75v-6fpf-gvw8 vitess.io/vitess (Go) Fixed in 0.23.5 Advisory →
- Fix · GHSA-v75v-6fpf-gvw8 vitess.io/vitess (Go) Fixed in 0.24.2 Advisory →
Timeline
- 2026-10-13 Threatist record created from CVE-2026-104252
- 2026-10-16 Alias added: GHSA-v75v-6fpf-gvw8
- 2026-10-16 Fix available: Go/vitess.io/[email protected], Go/vitess.io/[email protected] · GHSA-v75v-6fpf-gvw8
- 2026-10-16 CVSS score added · GHSA-v75v-6fpf-gvw8
- 2026-10-16 Weakness changed · GHSA-v75v-6fpf-gvw8
- 2026-10-16 11 new references · GHSA-v75v-6fpf-gvw8
- 2026-10-16 CISA SSVC decision points changed
References
Patch 6
- https://github.com/vitessio/vitess/pull/20255
- https://github.com/vitessio/vitess/pull/20273
- https://github.com/vitessio/vitess/pull/20274
- https://github.com/vitessio/vitess/commit/3140c1846cd120db34f33b2083139b4ab638aed2
- https://github.com/vitessio/vitess/commit/976e1e0d78f9d29d02e5e31b4aa7e180648f08af
- https://github.com/vitessio/vitess/commit/c1ed96302e658190168c971afdac730cf70e43f7
More backstage Vitess vulnerabilities
- TI-2026-22308 Vitess users with backup storage access can gain unauthorized access to production deployment environments CVSS 4.0HIGH 8.4
- TI-2026-46986 Vitess: Missing authorization on vttablet /debug/vrlog exposes live VReplication SQL data CVSS 3.1MEDIUM 5.3
- TI-2026-22312 Vitess users with backup storage access can write to arbitrary file paths on restore CVSS 4.0CRITICAL 9.3
- TI-2023-13623 Vitess VTAdmin users that can create shards can deny access to other functions CVSS 3.1MEDIUM 4.3
- TI-2023-13622 vitess allows users to create keyspaces that can deny access to already existing keyspaces CVSS 3.1MEDIUM 4.1
Sources
- CVE-2026-104252 · CVE Program
- CVE-2026-104252 · NVD
- FIRST EPSS
- GHSA-v75v-6fpf-gvw8 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences