GitHub Advisoryadvisory · Go

GHSA-7mwh-q3xm-qh6p Vitess allows HTML injection in /debug/querylogz & /debug/env

MEDIUM Published 2024-12-03 Modified 2024-12-16 Official page ↗
Aliases
CVE-2024-53257
Ecosystem
Go
Packages
vitess.io/vitess
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N
Weaknesses
CWE-79
Reviewed
2024-12-03

Affected packages

• Go vitess.io/vitess: >= 0.21.0-rc1, < 0.21.1 → fixed in 0.21.1 • Go vitess.io/vitess: >= 0.20.0-rc1, < 0.20.4 → fixed in 0.20.4 • Go vitess.io/vitess: < 0.19.8 → fixed in 0.19.8

Description

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("", users.idUser, "@xxx") WHERE email NOT LIKE '%xxx%' AND email != "[email protected]" ``` Result: 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.

Related

Alias · CVE (1)

  • CVE-2024-53257 Vitess is a database clustering system for horizontal scaling of MySQL. vulnerability

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References