AI and data stack advisories

Severe, 6 weeks1496Projects326

1496 severe, 6 weeks · 326 projects

vitessGHSA-7mwh-q3xm-qh6p

Vitess allows HTML injection in /debug/querylogz & /debug/env

vitess

CVE-2024-53257 · Published Dec 3, 2024 · updated Aug 7, 2026

Medium4.9
Fix: upgrade to 0.19.8 or later (3 fixed versions below)
GitHub advisory

Summary

The /debug/querylogz and /debug/env pages for vtgate and vttablet do not properly escape user input. The result is that queries executed by Vitess can write HTML into the monitoring page at will.

Details

These pages are rendered using text/template instead of rendering with a proper HTML templating engine.

PoC

Execute any query where part of it is HTML markup, for example as part of a string. To make it easier to observe you might want to make sure the query takes a few seconds to complete, giving you time to refresh the status page.

Example query that can trigger the issue:

```sql

UPDATE users

SET

email = CONCAT("<img src=https://cataas.com/cat/says/oops>", users.idUser, "@xxx")

WHERE

email NOT LIKE '%xxx%' AND email != "demo@xxx.com"

`

Result:

![image](https://github.com/user-attachments/assets/c583816b-157c-474e-bbed-152b3dc0372f)

Impact

Anyone looking at the Vitess status page is affected. This would normally be owners / administrators of the Vitess cluster.

Anyone that can influence what text show up in queries can trigger it. This would normally be pretty much everybody interacting with a system that uses Vitess as a backend.

Affected versions

PackageAffectedFixed in
vitess.io/vitess
Go
>= 0.21.0-rc1, < 0.21.10.21.1
>= 0.20.0-rc1, < 0.20.40.20.4
< 0.19.80.19.8
Details and references

More vitess advisories

All vitess