注目すべき項目
ストレージエンジン
InnoDBストレージエンジン
- INFORMATION_SCHEMAビューであるinnodb_trx、innodb_locks、innodb_lock_waitsにおいて、いくつかの競合状態が修正されました。(MDEV-39344)
Archiveストレージエンジン
- ARCHIVEテーブルに対するREPAIRコマンドがTEXTデータを破壊する (MDEV-24245)
Ariaストレージエンジン
- シンボリックリンクされたテーブル名がエンコードされない (MDEV-40358)
- MyISAM/Ariaは、ファイル名が長すぎる場合、ファイル名の拡張子を警告なしに切り詰めます (MDEV-40395)
Connectストレージエンジン
- Connectストレージエンジンの静的アプリケーションセキュリティテスト(SAST)の警告を修正 (MDEV-40316)
- CONNECTのファイルUDFがFILEおよびsecure_file_privを無視する (MDEV-40323)
- CONNECT RESTはHTTPパラメータ経由でcurlに引数を渡すことができる (MDEV-40360)
- CONNECTがリモートサーバーからの未検証データを固定長バッファに書き込む (MDEV-40426)
- DOSテーブル内のdouble(255,50)でCONNECTがクラッシュする (MDEV-40637)
CSVストレージエンジン
- CSVストレージエンジンを使用しているテーブルに対してDELETEを実行すると、サーバーがクラッシュする可能性がある (MDEV-40636)
Mroongaストレージエンジン
- テーブルをストレージエンジンMroongaに変更し、その後CHECK TABLEを実行すると、以前はクラッシュが発生していた (MDEV-39556)
MyISAMストレージエンジン
- 無効なkeyseg長を持つ破損したMYIファイルでのMyISAMクラッシュ (MDEV-39816)
RocksDBストレージエンジン
- RocksDBにおける32ビットサイズ切り詰め (MDEV-39812)
認証および権限システム
- 長すぎるデータベース名がエラーなしに受け入れられていましたが、GRANT文(データベースレベル)では64文字に切り詰められました (MDEV-39047)
- 適切な権限(SUPER または SYSTEM_VARIABLES_ADMIN権限)を持つユーザーは、実行時に変更可能なシステム変数 wsrep_sst_authの値が、シェルコマンドの構築に使用される時に適切にサニタイズされなかったため、mariadbdプロセスのUIDとしてシェルコマンドを実行できました (MDEV-40027)
- 適切な権限(SUPER権限)を持つユーザーは、実行時に変更可能なシステム変数 wsrep_node_addressの値が、シェルコマンドの構築に使用される時に適切にサニタイズされなかったため、mariadbdプロセスのUIDとしてシェルコマンドを実行できました (MDEV-40056)
- シングルクォートを使用すると、SHOW CREATE USERが無効になる (MDEV-40308)
- パスワードが空のGRANT PROXYが、権限付与者の権限を誤ってチェックする (MDEV-40470)
動的カラム
- 動的カラムヘッダーにおける妥当性チェックの欠落 (MDEV-39581)
- 動的カラムは、符号なし整数を読み取る時、シフトカウンタとして使用されていた64を超えてしまう可能性がありました (MDEV-40200)
Galera
- Galeraノードの状態スナップショット転送(SST)が、明示的なssl-modeまたは設定内のSSL証明書を介して、暗号化用に設定されているにもかかわらず、実際に暗号化を確立できなかった場合、rsyncおよびmariabackupによるSST方式は、ドナーのデータを平文で密かに転送しました。stunnelバイナリがインストールされていない場合のrsyncや、使用可能なSSL証明書および鍵が見つからない場合のmariabackupにおいて、SSTは現在、こうした状況において、非暗号化転送にフォールバックするのではなく、エラーで中断するようになりました。(MDEV-28233)
- mariabackupおよびrsyncによるState Snapshot Transfer(SST)において、転送時のノードの役割に応じて異なるTLS証明書、鍵、およびCAを使用できるようになりました。これにより、単一のインスタンスが、ドナー(TLSクライアント)として動作する時にはクライアント証明書を、ジョイナー(TLSサーバー)として動作する時にはサーバー証明書を提示できるようになります (MDEV-23744)
- [sst](または [mysqld])オプショングループから読み込まれる新しいオプションが8つ追加されました。各オプションは、設定されると、その役割に対応する汎用的な ssl-* オプションを上書きします。設定されていない場合は、汎用的な ssl-* オプションが使用されるため、既存の設定はこれまでと全く同じように動作します。
- Joiner(TLSサーバー)の役割:
- "ssl-server-ca" ピアの検証に使用するCAファイル。設定されている場合は、ssl-caを上書きします。設定されていない場合は、ssl-caが使用されます。
- "ssl-server-capath" ピアの検証に使用するCAディレクトリ。設定されている場合は、ssl-capathを上書きします。設定されていない場合は、ssl-capathが使用されます。
- "ssl-server-cert" ノードが提示する証明書。設定されている場合は、ssl-certを上書きします。設定されていない場合は、ssl-certが使用されます。
- "ssl-server-key" 証明書用の秘密鍵。設定されている場合は、ssl-keyを上書きします。設定されていない場合は、ssl-keyが使用されます。
- Donor(TLSクライアント)の役割:
- "ssl-client-ca" ピアの検証に使用するCAファイル。設定されている場合は、ssl-caを上書きします。設定されていない場合は、ssl-caが使用されます。
- "ssl-client-capath" ピアの検証に使用するCAディレクトリ。設定されている場合は、ssl-capathを上書きします。設定されていない場合は、ssl-capathが使用されます。
- "ssl-client-cert" ノードが提示する証明書。設定されている場合は、ssl-certを上書きします。設定されていない場合は、ssl-certが使用されます。
- "ssl-client-key" 証明書用の秘密鍵。設定されている場合は、ssl-keyを上書きします。設定されていない場合は、ssl-keyが使用されます。
- これらはサーバーのシステム変数ではなく、wsrep_sst_* スクリプトによって読み込まれるSSTオプションです。新しいオプションが何も設定されていない場合、SSTの動作は以前のリリースと同じです。この変更には完全な後方互換性があります。
- Galera State Transfer (SST) は、ssl-mode=VERIFY_CA設定をドキュメントの記載通りに解釈するようになりました。ノードの証明書は信頼できる認証局から発行されたものである必要がありますが、その名前がサーバーのアドレスと一致している必要はなくなりました。以前は、VERIFY_CAがVERIFY_IDENTITYと同様に厳格に扱われていたため、ホスト名が証明書に記載されていない正常なノード間での状態転送がブロックされる可能性がありました。より厳密な名前照合を必要とするデプロイでは、ssl-mode=VERIFY_IDENTITYを明示的に設定する必要があります (MDEV-28239)
- Galera SSTは、TLS証明書のチェック中に中断されました。原因は、ノードの証明書ファイルにリーフ証明書と中間CAがバンドルされていた一方で、CAファイルにはルートCAのみが含まれていたためです。これは、cert-managerや類似のPKIで発行された証明書によくある一般的な構成です。このチェックは、リーフ証明書をCAファイルに対して直接検証し、バンドルされた中間証明書を使ってチェーンを完了させることができませんでした。現在は、バンドルされた中間証明書も考慮されるようになったため、そのような証明書チェーンも正しく検証され、SSTの処理が進行します(MDEV-35812)
- あるノードで書き込みセットを適用できなかった後、そのノードがクラスターから離脱せずに静かに留まり続けてしまうという、稀に発生するGaleraクラスターのロックアップを修正しました。新しい書き込みセットが次々と到着したものの処理できず、当該ノードが強制終了されて再起動されるまで、クラスターは処理を進められない状態に陥りました。現在は、ノードは適用失敗をクラスターに報告し、整合性チェックに不合格となります。そして、状態転送を介して再参加できるよう、自動的に排除されます (MDEV-38843)
- 提供されているwsrep.cnfから設定オプションとして非推奨となったwsrep_causal_readsを削除 (MDEV-39691)
GIS
- 不正な形式のWKBポイントでのASANエラー (MDEV-39657)
- ST_GeomFromGeoJSONは、そのJSONオブジェクトの処理において、処理の深さをチェックしておらず、メモリオーバーランを引き起こす可能性がありました。MariaDB 12.3未満のバージョンでは、深さの制限として32が強制されるようになりました。それ以降のバージョンでは、深さはオペレーティングシステムのスタックサイズによって制限されます。(MDEV-39813)
- ST_GEOMFROMGEOJSONにおいて、GeoJSONオブジェクトを定義する他のすべてのGeoJSONオブジェクトの後にその"type"が指定されたJSONオブジェクトを渡すと、以前はオブジェクトではなくNULLが返されました。(MDEV-39981)
- 不正な形式のWKBマルチポリゴンにおけるASANエラー (MDEV-40328)
- 深くネストされたGeometryCollectionにおけるST_GeomFromTextのスタックオーバーラン (MDEV-40409)
- 深くネストされたGeometryCollectionにおけるST_GeomFromWKBのスタックオーバーラン (MDEV-40540)
情報スキーマ
- SHOW CREATE TABLEが、バッククォートで囲まれたテーブルオプションを破損させる (MDEV-39776)
- 外部キー名内のバッククォートがSHOW CREATE TABLEを壊す (MDEV-39818)
- DATA DIRECTORY内のシングルクォートがSHOW CREATE TABLEを壊す (MDEV-40159)
JSON
- 大規模な入力を伴うJSON関数(JSON_CONTAIN、JSON_CONTAINS_PATH、JSON_EXISTS、JSON_EXTRACT、JSON_KEYS)は、以前はKILL queryによる中断ができず、最大クエリ時間を超過する可能性がありました(MDEV-28404)
- JSON_EXISTSは、JSON関数の深さ制限を超えることが許容されていました (MDEV-39276)
- JSON_ARRAYAGG()は、off-by-oneエラーにより不正な値を返す (MDEV-39817)
- mysql_jsonプラグインにおけるOOB読み取り (MDEV-40678)
- ビッグエンディアンのプラットフォームにおいて、JSON関数の実行の中断は以前は不可能でしたが、これは修正されました。すべてのプラットフォームにおいて、JSON_OVERLAPSの中断は、正しいエラーコードを返すようになりました (MDEV-30518)
ロック
- 現在のテーブル定義にNEXTVAL式が含まれている状態で、LOCK=EXCLUSIVEを指定してALTER TABLEを実行した時にサーバーがクラッシュする問題を修正しました (MDEV-31808)
mariabackup
- mariadb-backup --decompressにおけるファイル名チェックの欠如 (MDEV-39565)
その他
- COMPRESSEDカラムを、その値のサブストリングに更新する時(例: UPDATE t SET c = RIGHT(c, n) や SUBSTRING(c, n))、カラムの現在の値が非圧縮で格納される程度に短い(column_compression_threshold、デフォルト100バイト未満)場合に発生し得るメモリ破損 (MDEV-39450)
パッケージング
- FILE権限を持ち、かつ、/run/mysqldへの書き込みが可能なsecure_file_privシステム変数の設定(デフォルトで有効)を持つユーザーは、次回の再起動時にMariaDBサービスが使用する環境ファイル /run/mysqld/wsrep-new-clusterを作成することが可能でした。(MDEV-40629)
- stunnelは、Galeraのrsync SSTメカニズムの依存関係です。SSTメカニズムに対してTLS設定が適用されるまでは、これはオプションです。MariaDB-serverのRPMおよびDebianパッケージにおいてstunnelが推奨パッケージとして追加され、バージョン12.3ではMariaDB-server-galeraの必須パッケージとしました。(MDEV-40630)
プラットフォーム Windows
- Ariaテーブルからの削除により、Windows上でインデックスが破損する可能性がある (MDEV-37000)
プラグイン - ファイルキー管理
- キーファイルが空の場合、file_key_managementプラグインがクラッシュする可能性がある (MDEV-40658)
プロトコル
- DNS名前解決が有効な場合(skip_name_resolveが設定されていない場合)、リモートホストからのPROXYプロトコル接続においてメモリリークが発生した (MDEV-37556)
- PROXYプロトコル v1ヘッダーパーサーにおける1バイトのOOB書き込み (MDEV-39564)
- PROXY v2プロトコルの未初期化メモリの読み取り (MDEV-39576)
クエリキャッシュ
- クエリに\0が含まれる場合のqc_info OOB読み取り (MDEV-40670)
レプリケーション
- 破損または途中で切断された Table_map_log_eventメタデータを解析する時に発生した複数の範囲外メモリ読み取りを修正しました。これにより、スレーブやmariadb-binlog --print-table-metadataは、不正な形式のテーブルマップイベントに遭遇しても、クラッシュしたりヒープメモリをリークしたりすることなく、安全に処理できるようになりました (MDEV-39689)
- STOP SLAVEコマンドがSQLスレッドを停止するのと同時に、SHOW SLAVE STATUS(または SHOW ALL SLAVES STATUS)を実行すると、サーバーがクラッシュする可能性がありました。そのステートメントによるSQLスレッドの状態の読み取りは、IOスレッドのシャットダウンとしか同期されておらず、そのため、停止中のSQLスレッドが読み取りの最中にその状態を解放してしまう可能性がありました。読み取りは、現在、SQLスレッドのシャットダウンとも同期されるようになったため、クラッシュは発生しなくなりました (MDEV-40298)
スクリプトとクライアント
- 存在しない場合にフォールバックメッセージログ機能を提供する (MDEV-38075)
- 同梱のコマンドラインクライアントは、サーバーからの結果に対して常に長さ制限を適用するわけではない (MDEV-40065)
- mariadb-dumpは、識別子を常にクォートするわけではない (MDEV-40311)
サーバー
- group_concatがmax_allowed_packetを無視する (MDEV-39673)
- #mysql50#がテーブルキャッシュ中およびディスク上のテーブル名と混同される (MDEV-40362)
- テーブルを開く時のfrmデータの検証が不十分 (MDEV-40571)
変数
- proxy_protocol_networksの値が不正な場合のASANクラッシュ (MDEV-39658)
ビュー
- ビューのfrmファイルにおいて、ユーザー名がエスケープされるようになりました。定義者の名前にバックスラッシュが含まれる古いビューについては、再作成する必要があります (MDEV-40484)
XML関数
- ExtractValueは、再帰の深さを制御しない (MDEV-39750)
一般
- MariaDBの非推奨化ポリシーに基づき、これがDebian 11 "Bullseye"(i386、amd64、arm64)向けのMariaDB 10.6の最後のリリースとなります。
セキュリティ
以下のセキュリティ脆弱性に対する修正:
CVE ID / CVSS基本スコア(v3.1)
CVE-2026-61081 / 2.7
CVE-2026-60585 / 6.6
CVE-2026-60331 / 6.4
CVE-2026-60747 / 6.2
CVE-2026-47023 / 4.9
CVE-2026-60184 / 4.4
MariaDB 10.6.28のリリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/release-notes/community-server/10.6/10.6.28
MariaDBプロダクト・サポート・サービス

MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。