Skip to content

Commit 0466df5

Browse files
authored
[release-23.0] Release of v23.0.3 (#19505)
Signed-off-by: Matt Lord <mattalord@gmail.com>
1 parent 26fef13 commit 0466df5

File tree

19 files changed

+172
-86
lines changed

19 files changed

+172
-86
lines changed

.github/workflows/code_freeze.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ jobs:
1111
steps:
1212
- name: Fail if Code Freeze is enabled
1313
run: |
14-
exit 1
14+
exit 0

changelog/23.0/23.0.3/changelog.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Changelog of Vitess v23.0.3
2+
3+
### Bug fixes
4+
#### Docker
5+
* [release-23.0] docker: install mysql-shell from Oracle repo and fix shellcheck warnings (#19456) [#19464](https://github.com/vitessio/vitess/pull/19464)
6+
#### Online DDL
7+
* [release-23.0] vreplication: fix infinite retry loop when terminal error message contains binary data (#19423) [#19438](https://github.com/vitessio/vitess/pull/19438)
8+
#### VDiff
9+
* [release-23.0] Address a few VDiff concerns (#19413) [#19448](https://github.com/vitessio/vitess/pull/19448)
10+
#### VReplication
11+
* [release-23.0] Bug fix: Add missing db_name filters to vreplication and vdiff queries #19378 [#19429](https://github.com/vitessio/vitess/pull/19429)
12+
* [release-23.0] Normalize the --on-ddl param for MoveTables (#19445) [#19452](https://github.com/vitessio/vitess/pull/19452)
13+
#### VTGate
14+
* [release-23.0] vtgate: Add bounds check in `visitUnion` for mismatched column counts (#19476) [#19483](https://github.com/vitessio/vitess/pull/19483)
15+
#### VTOrc
16+
* [release-23.0] vtorc: Add a timeout to `DemotePrimary` RPC (#19432) [#19450](https://github.com/vitessio/vitess/pull/19450)
17+
#### schema management
18+
* [release-23.0] sidecardb: make ALTER TABLE algorithm version-aware (#19358) [#19404](https://github.com/vitessio/vitess/pull/19404)
19+
### CI/Build
20+
#### Build/CI
21+
* Backport to v23: Support Go 1.26 and later with Swiss maps always enabled (#19088) [#19367](https://github.com/vitessio/vitess/pull/19367)
22+
* [release-23.0] try to fix setup mysql (#19371) [#19376](https://github.com/vitessio/vitess/pull/19376)
23+
* [release-23.0] CI: Fix workflows that install xtrabackup (#19383) [#19385](https://github.com/vitessio/vitess/pull/19385)
24+
### Compatibility Bug
25+
#### Query Serving
26+
* [release-23.0] fix streaming binary row corruption in prepared statements (#19381) [#19415](https://github.com/vitessio/vitess/pull/19415)
27+
### Release
28+
#### Documentation
29+
* Add summary for 23.0.3 patch release [#19503](https://github.com/vitessio/vitess/pull/19503)
30+
#### General
31+
* [release-23.0] Code Freeze for `v23.0.3` [#19504](https://github.com/vitessio/vitess/pull/19504)
32+
### Security
33+
#### Backup and Restore
34+
* [release-23.0] Restore: make loading compressor commands from `MANIFEST` opt-in (#19460) [#19474](https://github.com/vitessio/vitess/pull/19474)
35+
* [release-23.0] `backupengine`: disallow path traversals via backup `MANIFEST` on restore (#19470) [#19478](https://github.com/vitessio/vitess/pull/19478)
36+
* [release-23.0] `mysqlshellbackupengine`: use `fileutil.SafePathJoin(...)` to build path (#19484) [#19491](https://github.com/vitessio/vitess/pull/19491)
37+
#### VTTablet
38+
* [release-23.0] `filebackupstorage`: use `fileutil.SafePathJoin` for all path building (#19479) [#19481](https://github.com/vitessio/vitess/pull/19481)
39+
* [release-23.0] `vttablet`: harden `ExecuteHook` RPC and backup engine flag inputs (#19486) [#19501](https://github.com/vitessio/vitess/pull/19501)
40+
### Testing
41+
#### Build/CI
42+
* [release-23.0] CI: Deflake Code Coverage workflow (#19388) [#19394](https://github.com/vitessio/vitess/pull/19394)
43+
* [release-23.0] CI: Deflake two flaky tests (#19364) [#19412](https://github.com/vitessio/vitess/pull/19412)
44+
* [release-23.0] CI: Use larger runners for vreplication workflows (#19433) [#19435](https://github.com/vitessio/vitess/pull/19435)
45+
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Release of Vitess v23.0.3
2+
3+
## Summary
4+
5+
This is a security focused release. It contains fixes for two recently reported CVEs along with a number of other security related fixes.
6+
7+
### External Decompressor No Longer Read from Backup MANIFEST by Default
8+
9+
This is a fix for the following security advisory and associated CVE
10+
11+
- Advisory: <https://github.com/vitessio/vitess/security/advisories/GHSA-8g8j-r87h-p36x>
12+
- CVE: <https://www.cve.org/CVERecord?id=CVE-2026-27965>
13+
14+
The external decompressor command stored in a backup's `MANIFEST` file is no longer used at restore time by default. Previously, when no `--external-decompressor` flag was provided, VTTablet would fall back to the command specified in the `MANIFEST`. This posed a security risk: an attacker with write access to backup storage could modify the `MANIFEST` to execute arbitrary commands on the tablet.
15+
16+
*Please note that this is a breaking change.* Starting in v23.0.3, the `MANIFEST`-based decompressor is ignored unless you explicitly opt in with the new `--external-decompressor-use-manifest` flag. If you rely on this behavior, add the flag to your VTTablet configuration, but be aware of the security implications.
17+
18+
See [#19460](https://github.com/vitessio/vitess/pull/19460) for details.
19+
20+
### Prevent Path Traversals Via Backup MANIFEST Files On restore
21+
22+
This is a fix for the following security advisory and associated CVE
23+
24+
- Advisory: <https://github.com/vitessio/vitess/security/advisories/GHSA-r492-hjgh-c9gw>
25+
- CVE: <https://www.cve.org/CVERecord?id=CVE-2026-27969>
26+
27+
We now prevent a common [Path Traversal attack](https://owasp.org/www-community/attacks/Path_Traversal) that someone with write access to backup storage could use to escape the target restore directory and write files to arbitrary filesystem paths via modifications to the `MANIFEST`.
28+
29+
See [#19470](https://github.com/vitessio/vitess/pull/19470) for details.
30+
31+
------------
32+
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/23.0/23.0.3/changelog.md).
33+
34+
The release includes 22 merged Pull Requests.
35+
36+
Thanks to all our contributors: @app/vitess-bot, @bcremer, @mattlord
37+

changelog/23.0/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
## v23.0
2+
* **[23.0.3](23.0.3)**
3+
* [Changelog](23.0.3/changelog.md)
4+
* [Release Notes](23.0.3/release_notes.md)
5+
26
* **[23.0.2](23.0.2)**
37
* [Changelog](23.0.2/changelog.md)
48
* [Release Notes](23.0.2/release_notes.md)

examples/compose/docker-compose.beginners.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ services:
5858
- "3306"
5959

6060
vtctld:
61-
image: vitess/lite:v23.0.2
61+
image: vitess/lite:v23.0.3
6262
ports:
6363
- "15000:$WEB_PORT"
6464
- "$GRPC_PORT"
@@ -84,7 +84,7 @@ services:
8484
condition: service_healthy
8585
8686
vtgate:
87-
image: vitess/lite:v23.0.2
87+
image: vitess/lite:v23.0.3
8888
ports:
8989
- "15099:$WEB_PORT"
9090
- "$GRPC_PORT"
@@ -115,7 +115,7 @@ services:
115115
condition: service_healthy
116116

117117
schemaload:
118-
image: vitess/lite:v23.0.2
118+
image: vitess/lite:v23.0.3
119119
command:
120120
- sh
121121
- -c
@@ -148,12 +148,12 @@ services:
148148
environment:
149149
- KEYSPACES=$KEYSPACE
150150
- GRPC_PORT=15999
151-
image: vitess/lite:v23.0.2
151+
image: vitess/lite:v23.0.3
152152
volumes:
153153
- .:/script
154154

155155
vttablet100:
156-
image: vitess/lite:v23.0.2
156+
image: vitess/lite:v23.0.3
157157
ports:
158158
- "15100:$WEB_PORT"
159159
- "$GRPC_PORT"
@@ -185,7 +185,7 @@ services:
185185
retries: 15
186186

187187
vttablet101:
188-
image: vitess/lite:v23.0.2
188+
image: vitess/lite:v23.0.3
189189
ports:
190190
- "15101:$WEB_PORT"
191191
- "$GRPC_PORT"
@@ -217,7 +217,7 @@ services:
217217
retries: 15
218218

219219
vttablet102:
220-
image: vitess/lite:v23.0.2
220+
image: vitess/lite:v23.0.3
221221
ports:
222222
- "15102:$WEB_PORT"
223223
- "$GRPC_PORT"
@@ -249,7 +249,7 @@ services:
249249
retries: 15
250250

251251
vttablet103:
252-
image: vitess/lite:v23.0.2
252+
image: vitess/lite:v23.0.3
253253
ports:
254254
- "15103:$WEB_PORT"
255255
- "$GRPC_PORT"
@@ -281,7 +281,7 @@ services:
281281
retries: 15
282282

283283
vtorc:
284-
image: vitess/lite:v23.0.2
284+
image: vitess/lite:v23.0.3
285285
command: ["sh", "-c", "/script/vtorc-up.sh"]
286286
depends_on:
287287
- vtctld
@@ -311,7 +311,7 @@ services:
311311
retries: 15
312312

313313
vreplication:
314-
image: vitess/lite:v23.0.2
314+
image: vitess/lite:v23.0.3
315315
volumes:
316316
- ".:/script"
317317
environment:

examples/compose/docker-compose.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ services:
7575
- SCHEMA_FILES=lookup_keyspace_schema_file.sql
7676
- POST_LOAD_FILE=
7777
- EXTERNAL_DB=0
78-
image: vitess/lite:v23.0.2
78+
image: vitess/lite:v23.0.3
7979
volumes:
8080
- .:/script
8181
schemaload_test_keyspace:
@@ -101,7 +101,7 @@ services:
101101
- SCHEMA_FILES=test_keyspace_schema_file.sql
102102
- POST_LOAD_FILE=
103103
- EXTERNAL_DB=0
104-
image: vitess/lite:v23.0.2
104+
image: vitess/lite:v23.0.3
105105
volumes:
106106
- .:/script
107107
set_keyspace_durability_policy:
@@ -115,7 +115,7 @@ services:
115115
environment:
116116
- KEYSPACES=test_keyspace lookup_keyspace
117117
- GRPC_PORT=15999
118-
image: vitess/lite:v23.0.2
118+
image: vitess/lite:v23.0.3
119119
volumes:
120120
- .:/script
121121
vreplication:
@@ -129,7 +129,7 @@ services:
129129
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
130130
--topo-global-root vitess/global
131131
- EXTERNAL_DB=0
132-
image: vitess/lite:v23.0.2
132+
image: vitess/lite:v23.0.3
133133
volumes:
134134
- .:/script
135135
vtctld:
@@ -143,7 +143,7 @@ services:
143143
depends_on:
144144
external_db_host:
145145
condition: service_healthy
146-
image: vitess/lite:v23.0.2
146+
image: vitess/lite:v23.0.3
147147
ports:
148148
- 15000:8080
149149
- "15999"
@@ -160,7 +160,7 @@ services:
160160
--normalize-queries=true '
161161
depends_on:
162162
- vtctld
163-
image: vitess/lite:v23.0.2
163+
image: vitess/lite:v23.0.3
164164
ports:
165165
- 15099:8080
166166
- "15999"
@@ -182,7 +182,7 @@ services:
182182
- EXTERNAL_DB=0
183183
- DB_USER=
184184
- DB_PASS=
185-
image: vitess/lite:v23.0.2
185+
image: vitess/lite:v23.0.3
186186
ports:
187187
- 13000:8080
188188
volumes:
@@ -217,7 +217,7 @@ services:
217217
- CMD-SHELL
218218
- curl -s --fail --show-error localhost:8080/debug/health
219219
timeout: 10s
220-
image: vitess/lite:v23.0.2
220+
image: vitess/lite:v23.0.3
221221
ports:
222222
- 15101:8080
223223
- "15999"
@@ -254,7 +254,7 @@ services:
254254
- CMD-SHELL
255255
- curl -s --fail --show-error localhost:8080/debug/health
256256
timeout: 10s
257-
image: vitess/lite:v23.0.2
257+
image: vitess/lite:v23.0.3
258258
ports:
259259
- 15102:8080
260260
- "15999"
@@ -291,7 +291,7 @@ services:
291291
- CMD-SHELL
292292
- curl -s --fail --show-error localhost:8080/debug/health
293293
timeout: 10s
294-
image: vitess/lite:v23.0.2
294+
image: vitess/lite:v23.0.3
295295
ports:
296296
- 15201:8080
297297
- "15999"
@@ -328,7 +328,7 @@ services:
328328
- CMD-SHELL
329329
- curl -s --fail --show-error localhost:8080/debug/health
330330
timeout: 10s
331-
image: vitess/lite:v23.0.2
331+
image: vitess/lite:v23.0.3
332332
ports:
333333
- 15202:8080
334334
- "15999"
@@ -365,7 +365,7 @@ services:
365365
- CMD-SHELL
366366
- curl -s --fail --show-error localhost:8080/debug/health
367367
timeout: 10s
368-
image: vitess/lite:v23.0.2
368+
image: vitess/lite:v23.0.3
369369
ports:
370370
- 15301:8080
371371
- "15999"
@@ -402,7 +402,7 @@ services:
402402
- CMD-SHELL
403403
- curl -s --fail --show-error localhost:8080/debug/health
404404
timeout: 10s
405-
image: vitess/lite:v23.0.2
405+
image: vitess/lite:v23.0.3
406406
ports:
407407
- 15302:8080
408408
- "15999"

0 commit comments

Comments
 (0)