1
+ {
2
+ "schema_version" : " 1.3.1" ,
3
+ "id" : " GO-2024-2826" ,
4
+ "modified" : " 0001-01-01T00:00:00Z" ,
5
+ "published" : " 0001-01-01T00:00:00Z" ,
6
+ "aliases" : [
7
+ " CVE-2024-32886" ,
8
+ " GHSA-649x-hxfx-57j2"
9
+ ],
10
+ "summary" : " Denial of service attack by triggering unbounded memory usage in vitess.io/vitess" ,
11
+ "details" : " When executing a query, the vtgate will go into an endless loop that also keeps consuming memory and eventually will OOM. This causes a denial of service." ,
12
+ "affected" : [
13
+ {
14
+ "package" : {
15
+ "name" : " vitess.io/vitess" ,
16
+ "ecosystem" : " Go"
17
+ },
18
+ "ranges" : [
19
+ {
20
+ "type" : " SEMVER" ,
21
+ "events" : [
22
+ {
23
+ "introduced" : " 0"
24
+ },
25
+ {
26
+ "fixed" : " 0.17.7"
27
+ },
28
+ {
29
+ "introduced" : " 0.18.0"
30
+ },
31
+ {
32
+ "fixed" : " 0.18.5"
33
+ },
34
+ {
35
+ "introduced" : " 0.19.0"
36
+ },
37
+ {
38
+ "fixed" : " 0.19.4"
39
+ }
40
+ ]
41
+ }
42
+ ],
43
+ "ecosystem_specific" : {
44
+ "imports" : [
45
+ {
46
+ "path" : " vitess.io/vitess/go/mysql/collations/charset" ,
47
+ "symbols" : [
48
+ " Convert" ,
49
+ " ConvertFromBinary" ,
50
+ " ConvertFromUTF8" ,
51
+ " Validate" ,
52
+ " convertSlow"
53
+ ]
54
+ },
55
+ {
56
+ "path" : " vitess.io/vitess/go/mysql/collations/charset/unicode" ,
57
+ "symbols" : [
58
+ " Charset_ucs2.DecodeRune" ,
59
+ " Charset_utf16be.DecodeRune" ,
60
+ " Charset_utf16be.EncodeRune" ,
61
+ " Charset_utf32.EncodeRune"
62
+ ]
63
+ },
64
+ {
65
+ "path" : " vitess.io/vitess/go/vt/vtgate/evalengine" ,
66
+ "symbols" : [
67
+ " Add" ,
68
+ " AggregateEvalTypes" ,
69
+ " CoerceTo" ,
70
+ " CoerceTypes" ,
71
+ " Column.Format" ,
72
+ " Column.FormatFast" ,
73
+ " Comparison.ApplyTinyWeights" ,
74
+ " Comparison.Compare" ,
75
+ " Comparison.Less" ,
76
+ " Comparison.More" ,
77
+ " Comparison.Sort" ,
78
+ " Comparison.SortResult" ,
79
+ " CompiledExpr.Format" ,
80
+ " CompiledExpr.FormatFast" ,
81
+ " Divide" ,
82
+ " EvalResult.MustBoolean" ,
83
+ " EvalResult.String" ,
84
+ " EvalResult.ToBoolean" ,
85
+ " EvalResult.ToBooleanStrict" ,
86
+ " EvalResult.TupleValues" ,
87
+ " EvalResult.Value" ,
88
+ " ExpressionEnv.Evaluate" ,
89
+ " ExpressionEnv.EvaluateVM" ,
90
+ " FieldResolver.Column" ,
91
+ " IntroducerExpr.eval" ,
92
+ " Literal.Format" ,
93
+ " Literal.FormatFast" ,
94
+ " Merger.Init" ,
95
+ " Merger.Pop" ,
96
+ " Merger.Push" ,
97
+ " Multiply" ,
98
+ " NewLiteralBinaryFromBit" ,
99
+ " NewLiteralDateFromBytes" ,
100
+ " NewLiteralDatetimeFromBytes" ,
101
+ " NewLiteralDecimalFromBytes" ,
102
+ " NewLiteralFloatFromBytes" ,
103
+ " NewLiteralIntegralFromBytes" ,
104
+ " NewLiteralTimeFromBytes" ,
105
+ " NullSafeAdd" ,
106
+ " NullsafeCompare" ,
107
+ " NullsafeHashcode" ,
108
+ " NullsafeHashcode128" ,
109
+ " OrderByParams.Compare" ,
110
+ " OrderByParams.String" ,
111
+ " Sorter.Push" ,
112
+ " Sorter.Sorted" ,
113
+ " Subtract" ,
114
+ " Translate" ,
115
+ " TupleBindVariable.Format" ,
116
+ " TupleBindVariable.FormatFast" ,
117
+ " TupleExpr.Format" ,
118
+ " TupleExpr.FormatFast" ,
119
+ " UnsupportedCollationError.Error" ,
120
+ " UntypedExpr.Compile" ,
121
+ " UntypedExpr.Format" ,
122
+ " UntypedExpr.FormatFast" ,
123
+ " WeightString" ,
124
+ " aggregationDecimal.Add" ,
125
+ " aggregationDecimal.Max" ,
126
+ " aggregationDecimal.Min" ,
127
+ " aggregationFloat.Add" ,
128
+ " aggregationFloat.Max" ,
129
+ " aggregationFloat.Min" ,
130
+ " aggregationInt.Add" ,
131
+ " aggregationInt.Max" ,
132
+ " aggregationInt.Min" ,
133
+ " aggregationMinMax.Max" ,
134
+ " aggregationMinMax.Min" ,
135
+ " aggregationSumAny.Add" ,
136
+ " aggregationSumCount.Add" ,
137
+ " aggregationUint.Add" ,
138
+ " aggregationUint.Max" ,
139
+ " aggregationUint.Min" ,
140
+ " argError.Error" ,
141
+ " assembler.Fn_JSON_KEYS" ,
142
+ " assembler.Fn_REGEXP_REPLACE_slow" ,
143
+ " assembler.PushLiteral" ,
144
+ " astCompiler.translateIntroducerExpr" ,
145
+ " errJSONType.Error" ,
146
+ " evalBytes.Hash"
147
+ ]
148
+ }
149
+ ]
150
+ }
151
+ }
152
+ ],
153
+ "references" : [
154
+ {
155
+ "type" : " ADVISORY" ,
156
+ "url" : " https://github.com/vitessio/vitess/security/advisories/GHSA-649x-hxfx-57j2"
157
+ },
158
+ {
159
+ "type" : " FIX" ,
160
+ "url" : " https://github.com/vitessio/vitess/commit/2fd5ba1dbf6e9b32fdfdaf869d130066b1b5c0df"
161
+ },
162
+ {
163
+ "type" : " FIX" ,
164
+ "url" : " https://github.com/vitessio/vitess/commit/9df4b66550e46b5d7079e21ed0e1b0f49f92b055"
165
+ },
166
+ {
167
+ "type" : " FIX" ,
168
+ "url" : " https://github.com/vitessio/vitess/commit/c46dc5b6a4329a10589ca928392218d96031ac8d"
169
+ },
170
+ {
171
+ "type" : " FIX" ,
172
+ "url" : " https://github.com/vitessio/vitess/commit/d438adf7e34a6cf00fe441db80842ec669a99202"
173
+ },
174
+ {
175
+ "type" : " WEB" ,
176
+ "url" : " https://github.com/vitessio/vitess/blob/8f6cfaaa643a08dc111395a75a2d250ee746cfa8/go/mysql/collations/charset/convert.go#L73-L79"
177
+ },
178
+ {
179
+ "type" : " WEB" ,
180
+ "url" : " https://github.com/vitessio/vitess/blob/8f6cfaaa643a08dc111395a75a2d250ee746cfa8/go/mysql/collations/charset/unicode/utf16.go#L69-L71"
181
+ }
182
+ ],
183
+ "credits" : [
184
+ {
185
+ "name" : " @dbussink, @mattrobenolt, and @vmg"
186
+ }
187
+ ],
188
+ "database_specific" : {
189
+ "url" : " https://pkg.go.dev/vuln/GO-2024-2826"
190
+ }
191
+ }
0 commit comments