セキュリティの脆弱性の修正
CVE / CVSSベーススコア
CVE-2021-2372 / 4.4
CVE-2021-2389 / 5.9
主な変更点
● スクリプトwsrep_sst_mariabackupは、設定ファイルを処理する時に、サーバー関連の全ての
設定グループをチェックします。
・このリリース以前は、設定ファイルの処理時に[mysqld]設定グループのみがチェックされました。
● MariaDB Enterprise Backupは、--stream=mbstreamが付属のmbstreamユーティリティを使用して
バックアップをストリーミングすることを想定しています。
・このリリース以前は、xbstreamユーティリティの名前がmbstreamに変更されていたとしても、
MariaDB Enterprise Backupは--stream=xbstreamを想定していました。
● InnoDBは、デフォルトでアドバイザリファイルロックを取得しなくなりました。
● information_schema.KEYWORDSテーブルが追加され、SQLキーワードの詳細を確認するために
使用できます。
● information_schema.SQL_FUNCTIONSテーブルが追加され、組み込み関数の詳細を確認するために
使用できます。
● file_key_management暗号化プラグインを使用して保存データ暗号化を使用する時、
InnoDBはキーローテーションチェックを自動的に無効にします。
・file_key_management暗号化プラグインはキーローテーションをサポートしていないため、
キーローテーションチェックは必要ありません。
・以前のリリースでは、file_key_management暗号化プラグインを使用した不要な
キーローテーションチェックは、innodb_encryption_rotate_key_age=0を設定することで
明示的に無効にされない限り、パフォーマンスを低下させる可能性がありました。
● Galeraが25.3.34に更新されました。
● ARM64は現在複数のプラットフォームでサポートされています。
修正された問題
<クラッシュまたはハングを引き起こす可能性があるもの>
● マージ可能な派生テーブル/ view / CTE DTを介してWHERE条件を、アイテムリストに定数引数を持つ
SET関数が含まれるグループ化ビュー/ derived table / CTE Vにプッシュすると、サーバーがクラッシュする
可能性があります。
● 対応するクエリがビュー、CTE、または派生テーブルでウィンドウ関数を実行すると、ストアドプロシージャ
またはプリペアドステートメントの2回目の実行時にサーバーがクラッシュします。
● ハンギング再帰CTEを使用してプリペアドステートメントを実行すると、サーバーがクラッシュする
可能性があります。
● プリペアドステートメントまたはストアドプロシージャでCTEを使用してクエリを実行している間に、
サーバーがクラッシュします。
● 間接的に2回使用される再帰CTEを使用してクエリを実行している間に、サーバーがクラッシュします。
● RECURSIVEが欠落している組み込み再帰CTEの処理中に、無限再帰が原因でサーバーがクラッシュします。
● 高負荷下でのInnoDBデッドロックチェッカーでサーバーがクラッシュします。
● 仮想生成された列にプレフィックスインデックスがあると、サーバーがクラッシュします。
● 仮想生成された列を使用すると、サーバーがクラッシュする可能性があります。
● YEAR列が切り捨てられると、DELETEの実行中にサーバーがクラッシュします。
● ホスト名を解決できない場合、SET ROLEの実行中にサーバーがクラッシュします。
● サブクエリがORDER BY句の外部列を参照すると、サーバーがクラッシュします。
● (tableX.colX=tableY.colYのような)異なるテーブルの列を比較する32を超える等式条件で
クエリを実行している時に、クエリオプティマイザでスタックオーバーランが発生するため、
サーバーがクラッシュします。
● ウィンドウ関数がIN(SELECT ..)サブクエリの左の式である場合、サーバーがクラッシュします。
● slave_parallel_mode=optimisticで、OPTIMIZE TABLE、REPAIR TABLE、またはANALYZE TABLEが
実行された時に、GTIDレプリケーションを使用するレプリカサーバーでデッドロックが発生する可能性が
あります。
● InnoDBテーブルでALTER TABLE .. ADD FULLTEXT INDEXが失敗すると、サーバーがクラッシュします。
● フルテキストインデックスを使用してInnoDBテーブルでTRUNCATE TABLEを実行している時に、
サーバーがクラッシュします。
● インデックスが付けられた仮想生成列を持つInnoDBテーブルでALTER TABLEを実行している時に、
サーバーがクラッシュします。
<予期しない動作を引き起こす可能性があるもの>
● テーブルを削除した後にCREATE OR REPLACE TABLEが失敗した場合、DROP TABLE操作は
バイナリログに書き込まれません。
● SHOW GRANTSステートメントは、DEFAULT ROLEのロール名を適切に引用しません。
● innochecksumユーティリティは、解放されたページのエラーを報告します。
● 再帰CTEのWHERE句で不明な列が参照されていると、クエリはER_BAD_FIELD_ERRORで
失敗するのではなく、成功することがあります。
● 関数内でのCTEの再利用は、ER_NO_SUCH_TABLEエラーコードで失敗します。
● MariaDB Enterprise Cluster (Galera) SSTスクリプトのいくつかの修正。
● MariaDB Enterprise Clusterでは、wsrep_sst_method=mariabackupの場合、
MariaDB Enterprise BackupはEnvironment systemd設定パラメータによって
設定されたサーバーオプションを継承しません。
● MariaDB Enterprise Clusterでは、wsrep_sst_method=rsyncが設定され、
log-binまたはlog-bin-index、あるいはその両方がカスタムパスに設定されている場合、
rsync SSTはバイナリログインデックスをコピーしません。
この問題の結果として、Joinerノードは次のエラーをMariaDBエラーログに書き込みます。
tail: cannot open 'mysql-bin.index' for reading: No such file or directory
● MariaDB Enterprise Clusterでは、wsrep_sst_method=rsyncが設定されていると、
古いSSTプロセスのrsyncではなく、新しいSSTプロセスのrsyncが強制終了される場合が
あります。
● MariaDB Enterprise Clusterでは、wsrep_debugが有効になっていない場合、WSREPスレッドが
外部キーに関する警告をMariaDBエラーログに書き込む可能性がありました。
・以前のリリースでは、次の警告がログに書き込まれる可能性がありました。
InnoDB: WSREP: referenced FK check fail: Lock wait index `PRIMARY` table
`schema`.`child_table`"`` :org-jira:`MDEV-26062`
・このリリース以降、WSREPスレッドはwsrep_debugが有効になっている場合にのみ外部キーに関する
警告をMariaDBエラーログに書き込みます。
● CREATE INDEXステートメントは、間違った最大列長をチェックする場合があります。
● Spiderストレージエンジンは、複数列のインデックスが使用される場合に、">="を">"として
処理する場合があります。
● max_password_errorsシステム変数は、ed25519認証プラグインでは正しく機能しません。
● "Condition pushdown into derived table"最適化は、プッシュされる式が、格納された関数呼び出し、
@session変数参照、または他の同様の構造を持つ式から計算される派生テーブル列を参照している場合に、
適用できません。
● ORDER BY .. LIMIT句と"Range checked for each record"最適化を使用するクエリは、
誤った結果を生成する可能性がありました。
● 中止されたOPTIMIZE TABLEステートメントは、バイナリログに記録され、
レプリカサーバーに複製されます。
● EXPLAINが、実際に実行されたものとは異なる実行プランを示します。
● (SELECT .. LIMIT
CTEから選択すると間違った結果になります。
● mysql.procシステムテーブルに誤って格納されたCTEを含むプロシージャ。
インターフェースの変更
● KEYWORDSインフォメーションスキーマテーブルが追加されました
● SQL_FUNCTIONSインフォメーションスキーマテーブルが追加されました
プラットフォーム
エンタープライズライフサイクルに合わせて、MariaDB Enterprise Server 10.2.40-13は以下に対して
提供されています。
・CentOS 7 (x86_64)
・CentOS 8 (x86_64 / ARM64)
・Debian 9 (x86_64 / ARM64)
・Red Hat Enterprise Linux 7 (x86_64)
・Red Hat Enterprise Linux 8 (x86_64 / ARM64)
・SUSE Linux Enterprise Server 12 (x86_64)
・SUSE Linux Enterprise Server 15 (x86_64 / ARM64)
・Ubuntu 18.04 (x86_64 / ARM64)
・Microsoft Windows (x86_64)
MariaDB Enterprise Server 10.2.40-13のリリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/release-notes/mariadb-enterprise-server-10-2-40-13/
MariaDBプロダクト・サポート・サービス
MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。