Description
Vitess is a database clustering system for horizontal scaling of MySQL. When executing the following simple query, the `vtgate` will go into an endless loop that also keeps consuming memory and eventually will run out of memory. This vulnerability is fixed in 19.0.4, 18.0.5, and 17.0.7.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| vitessio | vitess | < 17.0.7, >= 18.0.0, < 18.0.5, >= 19.0.0, < 19.0.4 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | vitess | 19.0.4-1 | — |
| Azure Linux 2 (CBL-Mariner) | vitess | 17.0.7-1 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/vitessio/vitess | >= 19.0.0, < 19.0.4 | 19.0.4 | GHSA-649x-hxfx-57j2 |
| Go | github.com/vitessio/vitess | >= 18.0.0, < 18.0.5 | 18.0.5 | GHSA-649x-hxfx-57j2 |
| Go | github.com/vitessio/vitess | < 17.0.7 | 17.0.7 | GHSA-649x-hxfx-57j2 |
| Go | vitess.io/vitess | < 0.17.7 | 0.17.7 | GHSA-649x-hxfx-57j2 |
| Go | vitess.io/vitess | >= 0.18.0, < 0.18.5 | 0.18.5 | GHSA-649x-hxfx-57j2 |
| Go | vitess.io/vitess | >= 0.19.0, < 0.19.4 | 0.19.4 | GHSA-649x-hxfx-57j2 |
| Go | vitess.io/vitess | < 0.17.7 · >= 0.18.0, < 0.18.5 · >= 0.19.0, < 0.19.4 | 0.17.7, 0.18.5, 0.19.4 | GO-2024-2826 |
References
- https://github.com/vitessio/vitess/security/advisories/GHSA-649x-hxfx-57j2
- https://github.com/vitessio/vitess/commit/2fd5ba1dbf6e9b32fdfdaf869d130066b1b5c0df
- https://github.com/vitessio/vitess/commit/9df4b66550e46b5d7079e21ed0e1b0f49f92b055
- https://github.com/vitessio/vitess/commit/c46dc5b6a4329a10589ca928392218d96031ac8d
- https://github.com/vitessio/vitess/commit/d438adf7e34a6cf00fe441db80842ec669a99202
- https://github.com/vitessio/vitess/blob/8f6cfaaa643a08dc111395a75a2d250ee746cfa8/go/mysql/collations/charset/convert.go#L73-L79
- https://github.com/vitessio/vitess/blob/8f6cfaaa643a08dc111395a75a2d250ee746cfa8/go/mysql/collations/charset/unicode/utf16.go#L69-L71