# CVE-2026-27965: Vitess users with backup storage access can gain unauthorized access to production deployment environments

> Attackers with backup storage access can inject commands into manifest files to execute arbitrary code and gain unauthorized access to production environments.

- **Severity:** High 8.4 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:L/SC:L/SI:L/SA:L`)
- **Exploited in the wild:** Not known
- **Login needed:** An administrator
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 26 Feb 2026
- **Updated:** 26 Feb 2026
- **Also known as:** AZL-78356, AZL-78593, GHSA-8g8j-r87h-p36x, GO-2026-4567

## What is CVE-2026-27965?

CVE-2026-27965 is a high-severity command injection vulnerability in vitessio vitess, published on 26 Feb 2026. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link.

### Official description

Vitess is a database clustering system for horizontal scaling of MySQL. Prior to versions 23.0.3 and 22.0.4, anyone with read/write access to the backup storage location (e.g. an S3 bucket) can manipulate backup manifest files so that arbitrary code is later executed when that backup is restored. This can be used to provide that attacker with unintended/unauthorized access to the production deployment environment — allowing them to access information available in that environment as well as run any additional arbitrary commands there. Versions 23.0.3 and 22.0.4 contain a patch. Some workarounds are available. Those who intended to use an external decompressor then can always specify that decompressor command in the `--external-decompressor` flag value for `vttablet` and `vtbackup`. That then overrides any value specified in the manifest file. Those who did not intend to use an external decompressor, nor an internal one, can specify a value such as `cat` or `tee` in the `--external-decompressor` flag value for `vttablet` and `vtbackup` to ensure that a harmless command is always used.

Weakness: CWE-78 (Improper Neutralization of Special Elements used in an OS Command)

## Which versions are affected by CVE-2026-27965?

3 open source packages ship an affected version, including vitess.io/vitess. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `vitess.io/vitess` | Go | All versions | 0.22.4, 0.23.3 |
| `vitess.io/vitess` | Go | All versions to 0.23.2 | None |
| `vitess.io/vitess` | Go | All versions to 0.23.2 | None |

Products: Linuxfoundation Vitess.

## How do I fix CVE-2026-27965?

Upgrade vitess.io/vitess to a fixed version for your release line: 0.22.4 or 0.23.3.

## Is CVE-2026-27965 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-27965 exists.

## Other vulnerabilities in vitessio vitess

- [CVE-2026-104252](https://insights.sbomify.com/CVE-2026-104252/): Vitess vttablet /twopcz reflected XSS (critical 9.8)
- [CVE-2026-27969](https://insights.sbomify.com/CVE-2026-27969/): Vitess users with backup storage access can write to arbitrary file paths on restore (critical 9.3)
- [CVE-2023-29195](https://insights.sbomify.com/CVE-2023-29195/): Vitess VTAdmin users that can create shards can deny access to other functions (medium 4.1)
- [CVE-2023-29194](https://insights.sbomify.com/CVE-2023-29194/): vitess allows users to create keyspaces that can deny access to already existing keyspaces (medium 4.1)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-27965 and fix it if it is affected.

What it is: CVE-2026-27965 is a high-severity command injection vulnerability in vitessio vitess, published on 26 Feb 2026. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-27965 exists.

Affected packages and fixed versions:
- vitess.io/vitess (Go): affected all versions; fixed in 0.22.4, 0.23.3
- vitess.io/vitess (Go): affected all versions up to 0.23.2; no fix listed
- vitess.io/vitess (Go): affected all versions up to 0.23.2; no fix listed

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-27965/ (Markdown: https://insights.sbomify.com/CVE-2026-27965/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-27965
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-27965
- OSV: https://osv.dev/vulnerability/CVE-2026-27965

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-27965/
Summaries are generated and may contain mistakes; the official description above is the record.
