RATATOSKRATATOSK
로그인

Vitess

v24.0.5Storage & Data
2026년 10월 13일

ACTION 5CHECK 10OTHER 15

SQL 구문 분석, 권한 검증, 연결 처리를 보완한 보안 중심 유지 보수 릴리스입니다. 사용하는 기능과 설정에 따라 허용되지 않는 값이 생기거나 권한 구성을 조정해야 하는 변경이 포함됩니다.

조치 필요 (5)

  • security전역 SET 변수 이름 처리 보완

    전역 SET 변수 이름을 통한 SQL 주입 문제를 수정했습니다. 관련 내용은 GHSA-m282-7w35-g77m에 해당합니다.

    GHSA-m282-7w35-g77m

  • security날짜 및 시간 리터럴 처리 보완

    DATE, TIME, TIMESTAMP 리터럴을 통한 SQL 주입 문제를 수정했습니다. 관련 내용은 GHSA-9248-hccp-qf8f에 해당합니다.

    GHSA-9248-hccp-qf8f

  • securitySET_VAR 세션 변수 값 처리 보완

    SET_VAR 힌트에 담긴 세션 변수 값을 통한 SQL 주입 문제를 수정했습니다. 관련 내용은 GHSA-9rx3-8pwm-c228에 해당합니다.

    GHSA-9rx3-8pwm-c228

  • security숫자 바인드 변수 처리 보완

    잘못된 숫자 바인드 변수를 통한 SQL 주입 문제를 수정했습니다. 관련 내용은 GHSA-xf67-9r78-xv82에 해당합니다.

    GHSA-xf67-9r78-xv82

  • breaking빈 이름이 지정된 테이블 속성 거부

    빈 문자 집합, 정렬 규칙, 엔진 또는 파티션 테이블스페이스 이름이 거부됩니다. 대상 구문은 CHARACTER SET, COLLATE, ENGINE, TABLESPACE입니다.

영향 확인 (10)

  • securityMySQL 연결 문자 집합 제한

    --db-charset를 설정하는 경우에 적용됩니다.

    --db-charset와 MySQL 연결 문자 집합을 설정하는 다른 위치에서 sjis, cp932, gb18030, gbk, big5, ucs2, utf16, utf16le, utf32를 더 이상 사용할 수 없습니다. 관련 내용은 GHSA-c28j-qmfx-4gxp에 해당합니다.

  • securityVExplain 실행 권한 요구

    VExplain을 사용하면서 execute를 설정하지 않은 경우에 적용됩니다.

    해당 모드에서는 VExplain 리소스에 새 execute 동작이 필요합니다. 관련 내용은 GHSA-c2r8-grjp-w8c8에 해당합니다.

  • securityVStream LastPK 처리 보완

    VStream을 실행하는 경우에 적용됩니다.

    VStream의 LastPK 값을 통한 SQL 주입 문제를 수정했습니다. 관련 내용은 GHSA-73pp-99vw-h5g8에 해당합니다.

    GHSA-73pp-99vw-h5g8

  • securityVStream 필터 인자 처리 보완

    VStream을 실행하는 경우에 적용됩니다.

    VStream 필터의 convert_tz() 인자를 통한 SQL 주입 문제를 수정했습니다. 관련 내용은 GHSA-92cc-q2h6-m2vr에 해당합니다.

    GHSA-92cc-q2h6-m2vr

  • securityOnline DDL 테이블 이름 처리 보완

    Online DDL을 실행하는 경우에 적용됩니다.

    Online DDL 문에서 테이블 이름을 통한 SQL 주입 문제를 수정했습니다. 관련 내용은 GHSA-8w3p-4xg5-rm9w에 해당합니다.

    GHSA-8w3p-4xg5-rm9w

  • security쿼리 주석 호출자 ID 처리 보완

    --queryserver-config-annotate-queries를 활성화하는 경우에 적용됩니다.

    쿼리 주석의 호출자 ID를 통한 SQL 주입 문제를 수정했습니다. 대상 설정은 --queryserver-config-annotate-queries이며, 관련 내용은 GHSA-x56j-8c72-5xgg에 해당합니다.

    GHSA-x56j-8c72-5xgg

  • security후행 주석의 SQL 검사 우회 차단

    table ACL 검사를 사용하는 경우에 적용됩니다.

    후행 주석에 숨겨져 파싱과 테이블 접근 제어 검사를 피하던 SQL 문제를 수정했습니다. 관련 내용은 GHSA-pfg5-ppc7-ff45에 해당합니다.

    GHSA-pfg5-ppc7-ff45

  • securityVTAdmin 상태 변경 API 요청 제한

    VTAdmin을 실행하는 경우에 적용됩니다.

    클러스터 상태를 바꾸는 VTAdmin API 경로가 사이트 간 GET 요청을 허용하던 문제를 수정했습니다. 관련 내용은 GHSA-3fr2-mqr5-r5x5에 해당합니다.

    GHSA-3fr2-mqr5-r5x5

  • securityReloadSchemaShard RBAC 검사 보완

    VTAdmin을 실행하는 경우에 적용됩니다.

    VTAdmin의 ReloadSchemaShard가 RBAC를 검사하지 않던 문제를 수정했습니다. 관련 내용은 GHSA-78h7-x6qm-xpr8에 해당합니다.

    GHSA-78h7-x6qm-xpr8

  • breaking지원하지 않는 sql_mode 설정 거부

    sql_mode를 설정하는 경우에 적용됩니다.

    지원하지 않는 모드를 설정하면, MySQL이 이미 같은 모드로 실행 중이고 SET이 값을 바꾸지 않더라도 거부됩니다.

그 외 기록된 변경 15건 전체security fixes 2 · value changes 7 · constraints 2 · defaults 2 · fixes 2

security fixes (2)

  • A caller that is a reader, a writer and an admin in a table group covering every table ("table_names_or_prefixes": ["%"]) holds every role on any table such a statement could touch, so DO, REPAIR, OPTIMIZE and a partially parsed CREATE TABLE now run for it.
  • For those modes VTAdmin also accepts only a SELECT without INTO, sequence next-values or advisory lock functions

value changes (7)

  • Unknown mode names and invalid numeric values fail with MySQL's own errors: ER_WRONG_VALUE_FOR_VAR (1231), and ER_UNSUPPORTED_SQL_MODE (3899) for the bits of modes removed in MySQL 8.0.
  • Constant values are validated at planning time, with no shard round trip.
  • These checks are counted under the undetermined-table-set TableName label, in TableACLDenied, or in TableACLAllowed for a caller with every role on every table.
  • A charset, collation, engine, tablespace or full-text parser name is now decoded when parsed, and written back as a single token when Vitess regenerates the statement
  • Only known names stay bare.
  • COLLATE binary in an expression is quoted.
  • COLLATE 'utf8_bin' regenerates as COLLATE utf8_bin

constraints (2)

  • Numeric values decode against MySQL's sql_mode bitmask.
  • ENCRYPTION requires a quoted value.

defaults (2)

  • Every MySQL connection Vitess creates now strips the modes that change how SQL text is interpreted from the session sql_mode it inherits from the server's global value.
  • The VExplain page in the web UI now defaults to PLAN.

fixes (2)

  • VTGate now implements MySQL 8.x's sql_mode assignment semantics and validates every assignment against them:
  • VTTablet applies the same validation at its own entry points and returns the same errors
Vitess 스택에 추가

조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 보안 패치와 브레이킹 체인지 같은 것들입니다.

스택에 추가 →