修正されたセキュリティ脆弱性
これらの問題の一部には、まだCVE識別子が割り当てられていません。それらについては、代わりにGitHub Security Advisory (GHSA) ID でリストアップされています。アドバイザリはMariaDB ServerのGitHub Security Advisoriesページで公開され、CVE識別子は割り当てられ次第追加されます。
アドバイザリ (CVE または GHSA) / CVSS基本スコア (v3.1)
CVE-2026-47023 / 4.9
CVE-2026-60184 / 4.4
CVE-2026-60331 / 6.4
CVE-2026-60585 / 6.6
CVE-2026-60747 / 6.2
CVE-2026-61081 / 2.7
CVE-2026-85745 / 4.3
CVE-2026-85746 / 9.9
CVE-2026-85748 / 9.9
CVE-2026-85985 / 5.4
CVE-2026-86047 / 7.7
GHSA-65jj-h265-3m7h / 9.9
GHSA-625w-4hgq-qwmr / 8.8
GHSA-h4vr-wpff-jfx4 / 8.0
GHSA-g2q2-3936-cp37 / 7.2
GHSA-2m85-2x26-36rf / 6.4
GHSA-c4gx-34mg-95q5 / 8.0
GHSA-fmq9-qjxj-qpf7 / 5.9
GHSA-mhvc-vqcq-7vq5 / 8.4
GHSA-4wgx-ffg9-jrwq / 8.5
GHSA-wfqg-88r5-55f6 / 6.4
GHSA-89ph-64cf-gqcc / 4.4
ストレージエンジンの変更
- このリリースには、MariaDB ColumnStoreエンジンのバージョン25.10.6が組み込まれています。
注目すべき変更点
- 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ノードの状態スナップショット転送(SST)が、明示的なssl-modeまたは設定内のSSL証明書を介して、暗号化用に設定されているにもかかわらず、実際に暗号化を確立できなかった場合、rsyncおよびmariabackupによるSST方式は、ドナーのデータを平文で密かに転送しました。stunnelバイナリがインストールされていない場合のrsyncや、使用可能なSSL証明書および鍵が見つからない場合のmariabackupにおいて、SSTは現在、こうした状況において、非暗号化転送にフォールバックするのではなく、エラーで中断するようになりました。(MDEV-28233)
- Galera State Transfer (SST) は、ssl-mode=VERIFY_CA設定をドキュメントの記載通りに解釈するようになりました。ノードの証明書は信頼できる認証局から発行されたものである必要がありますが、その名前がサーバーのアドレスと一致している必要はなくなりました。以前は、VERIFY_CAがVERIFY_IDENTITYと同様に厳格に扱われていたため、ホスト名が証明書に記載されていない正常なノード間での状態転送がブロックされる可能性がありました。より厳密な名前照合を必要とするデプロイでは、ssl-mode=VERIFY_IDENTITYを明示的に設定する必要があります (MDEV-28239)
- HELPシステムのドキュメントおよびMariaDBドキュメントへのURLを更新 (MDEV-39584)
- libaioが非同期カーネルインターフェイスのセットアップに失敗した時に関連付けられたエラーログが正しくありませんでした。エラーコード、テキストバージョン、および修正を示すマニュアルページへの参照が報告されるようになりました (MDEV-39925)
- MariaDBのRPMパッケージでは、mariadbdを実行するための専用mysqlユーザーが作成されます。このユーザーのホームディレクトリは、データディレクトリから存在しないパスである/nonexistentに変更されました。これは、FILE権限を持つ悪意のあるユーザーが、ホームディレクトリ($HOME)内に様々なドットファイルを作成できないようにするためです。例えば、そこで作成された .bash_profileは、su - mysql -s /bin/bashによって実行されます。既存のインストールをアップグレードすると、ホームディレクトリもリセットされます。
- MariaDBのdebパッケージ(DebianおよびUbuntu)は、ホームディレクトリがすでに/nonexistentに設定されているため、影響を受けません。
修正された問題
データ損失が発生する可能性があるもの
- ARCHIVEテーブルに対するREPAIRコマンドがTEXTデータを破壊する (MDEV-24245)
- COMPRESSED列をそれ自身のサブストリングに更新する(例: UPDATE t SET c = RIGHT(c, n)やSUBSTRING(c, n))時、その列の現在の値が非圧縮で格納される程度に短い場合(column_compression_threshold(デフォルト100バイト)未満)に発生し得たメモリ破損を修正しました。(MDEV-39450)
- Redoログが正常であり、容量にも十分な余裕がある場合でも、mariadb-backupが”Was only able to copy log from X to Y, not Z; try increasing innodb_log_file_size”という誤解を招くエラーで異常終了することがありました。ログコピー機能は、部分的に書き込まれた末尾ブロックを読み取ってしまう可能性がありました。そのブロックは依然として有効なCRCで解析され、その結果、解析位置がミニトランザクションの途中まで進んでしまい、その後はターゲットLSNに追いつけなくなっていました。コピー機能は現在、サーバーが永続的にフラッシュしたLSN(Innodb_lsn_flushed)までの範囲でredoログを解析し、それらのバイトを後のパスで再読み込みします。(MDEV-39468)
- BLOBから整数への変換における符号付き整数のオーバーフローを修正 (MDEV-39690)
- DATA DIRECTORY内のシングルクォートがSHOW CREATE TABLEを壊す (MDEV-40159)
ハングまたはクラッシュを引き起こす可能性があるもの
- DROP時のinnobase_xa_prepareおよびSAVEPOINT時のinnobase_savepointにおいて、アサーション trx_is_registered_for_2pc(trx) が失敗する (MDEV-22848)
- CHECKSUM TABLE実行時、Field_varstring::val_str内でAssertion marked_for_read()が失敗しました (MDEV-22943)
- 64列を超える派生テーブル(またはderived_merge=offが設定されたビュー)に対してNATURAL JOINを実行すると、アサーションエラーでサーバーがクラッシュする (MDEV-24931)
- ER_DUP_ENTRYを引き起こすマルチUPDATE実行時のerr_conv / field_unpackにおけるASANエラー (MDEV-25813)
- 予期しないロックのバイパス、QUICK_GROUP_MIN_MAX_SELECT::get_nextにおける”Assertion (have_max && !have_min) || (have_max && have_min && (max_res == 0)) failed” (MDEV-25964)
- VALUE(仮想列)を含むSELECT実行時の”Assertion marked_for_read() failed” (MDEV-26820)
- インデックスに仮想列を含む範囲選択時の”Assertion marked_for_read() failed” (MDEV-28610)
- ALTER TABLE ... DROP PERIOD IF EXISTS FORは、デバッグビルドではアサーション失敗を引き起こし、非デバッグビルドではクラッシュする可能性がある (MDEV-30297)
- Binary_string::free_buffer および Item_func_sformat::~Item_func_sformatにおけるサーバークラッシュ / ASAN use-after-poison (MDEV-31024)
- ネストされたST_BUFFERを伴うget_n_sincosでのサーバークラッシュまたはアサーション失敗 (MDEV-31267)
- 現在のテーブル定義にNEXTVAL式が含まれている状態で、LOCK=EXCLUSIVEを指定してALTER TABLEを実行した時のサーバークラッシュを修正しました (MDEV-31808)
- 再帰的CTEとサブクエリを組み合わせた一部のクエリは、実行中にサーバークラッシュを引き起こす可能性がある (MDEV-32326)
- パス引数をとる一連のJSON関数は、文字セットを持たないSQL式を渡された場合、サーバーをクラッシュさせました (MDEV-32331)
- server_auditプラグインをアンインストールしてから再インストールすると、サーバーがクラッシュする可能性がありました (MDEV-34074)
- レプリケーションスレーブがエラーなしで停止したままになる (MDEV-34135)
- virtual my_time_t Field_timestamp0::get_timestamp(const uchar*, ulong*) constにおけるAssertion marked_for_read() failed (MDEV-34992)
- GROUP BYの簡略化に伴うサーバークラッシュ (MDEV-35565)
- Item_func_mod::fix_length_and_dec_intにおけるAssertion decimals == 0 failed (MDEV-35920)
- ネストされたVIEWを含む2回目のPS実行でのクラッシュ (MDEV-36059)
- クエリ内のテーブルメタデータが変更された後にカーソルを実行するストアドルーチンを2回目に実行した時のサーバーの異常終了 (MDEV-36481)
- プロシージャ呼び出し時にサービスがクラッシュしました (MDEV-37086)
- skip-grant-tablesを使用してサーバーを起動し、mysql.hostテーブルを作成した後、FLUSH PRIVILEGES文を実行すると、サーバーがクラッシュする (MDEV-37840)
- Item_name_constは、type_handler() をラップされた値に転送しましたが、decimal_precision()を転送しませんでした。そのため、NAME_CONSTでラップされた16進リテラルは、本来の精度ではなく汎用的な精度を報告しました。decimal_precision()も転送してください (MDEV-38061)
- SST後のMariaDBエラー1950 (MDEV-38147)
- Query_arena::free_items/sp_lex_cursor::~sp_lex_cursorにおけるASAN heap-use-after-free (MDEV-38561)
- あるノードで書き込みセットを適用できなかった後、そのノードがクラスターから離脱せずにそのまま留まってしまうという、稀に発生するGaleraクラスターのロックアップを修正しました。新たな書き込みセットが次々と到着したものの処理できず、当該ノードが強制終了されて再起動されるまで、クラスターは処理を進められない状態に陥りました。そのノードは現在、適用失敗をクラスターに報告し、整合性チェックに失敗し、自動的に排除されるため、状態転送を介して再参加できるようになります (MDEV-38843)
- ZERO_DATE_TIME_CASTを伴うEXTRACT下にネストされた日時関数(LAST_DAY、CAST)が誤った間隔フラグを渡すことに起因する、クラッシュおよびASAN/UBSANエラーを修正しました (MDEV-38971)
- CTEエイリアスを使用したItem_func_lastval::val_intおよびItem_func_setval::val_intでのサーバークラッシュ (MDEV-39063)
- INFORMATION_SCHEMAビュー innodb_trx、innodb_locks、innodb_lock_waitsにおけるいくつかの競合状態が修正されました (MDEV-39344)
- 0xHHHH / b'..' リテラルは、COALESCE/IF/CASE/...を通じてhex_hybrid型を保持しますが、文字列として評価、サイズ調整、格納されるため、ベアリテラルとは異なる挙動を示しました(10+COALESCE(0x31)の結果は59ではなく11となりました)。type_handler_hex_hybridは、ベアリテラルと整合するように、数値側を実装するようになりました。val_int/val_real/val_decimalはバイトをハイブリッドとして読み取り、Item_decimal_precisionは整数の精度を返し、Item_save_in_fieldはベアリテラルと同様に格納します。従来の型マージでは型を持たないNULLを介してハイブリッドが保持され(BITの場合と同様)、Item_hybrid_func_fix_attributesはそれをbinary/unsignedとして扱います。 (MDEV-39380)
- 浮動小数点例外: Item_sum_ntile::val_intでのゼロ除算 (MDEV-39451)
- 切り詰められた追加データを含むv2 Rows Eventsにおける、メモリの漏えい(クラッシュではない場合)を修正 (MDEV-39485)
- --bootstrapモードにおいて、部分的に初期化された状態のInnoDBがシャットダウンされる可能性があり、それによってサーバーがクラッシュする可能性がありました (MDEV-39541)
- collect_indexed_vcols_for_tableにおけるSIGSEGV、charset_info_st::copy_fixからのmy_copy_8bitによるメモリ破損 (MDEV-39558)
- 空のBLOB/TEXTカラムに対するUNIQUE制約チェックまたはプレフィックスインデックススキャン中のサーバークラッシュを修正 (MDEV-39559)
- PROXYプロトコルv1ヘッダーパーサーにおける1バイトのOOB書き込み (MDEV-39564)
- proxy_protocol_networksの値が不正な場合のASANクラッシュ (MDEV-39658)
- group_concatはmax_allowed_packetを無視する (MDEV-39673)
- Galeraレプリケーションアプライヤーによる高優先度の中断によって、中断された被害側トランザクションのInnoDBロックがロック待機キュー内に孤立したまま残ることがありました。これにより、状況によってはノードが一時的にハングアップしたり、クラッシュしたりする可能性があります。このバージョンには、高優先度のアボートされたトランザクションのロック待ち状態の処理に関する修正が含まれています (MDEV-39681)
- 破損されたまたはトランケートされたTable_map_log_eventメタデータを解析する時に発生した複数の境界外メモリ読み取りを修正しました。これにより、スレーブやmariadb-binlog --print-table-metadataは不正な形式のテーブルマップイベントを処理する時に、クラッシュやヒープメモリリークを起こすことなく、安全に処理できるようになりました (MDEV-39689)
- 除算関数を修正し、符号なしの正しいゼロ(小数)を生成するようにする (MDEV-39744)
- ExtractValueは再帰の深さを制御しない (MDEV-39750)
- 圧縮されたイベント(log_bin_compress)をレプリケートする時、イベントの記録された非圧縮サイズが破損して非常に大きな値になっていた場合、レプリカがクラッシュする可能性がありました。レプリカはその値を確認することなくその値からその展開ワークスペースのサイズを決定し、その結果生じた不整合によってレプリカのメモリが破損するか、あるいは4GBの割り当てが要求されることになりました。レプリカは現在、マスターが生成可能な最大パケットを超える非圧縮サイズを拒否し、詳細なエラーと共にそのI/Oスレッドを停止します (MDEV-39762)
- 圧縮のみのページにおける古い暗号化メタデータをクリアすることで修正し、エクステント予約時のアサーション失敗を修正しました (MDEV-39795)
- 空間インデックスの述語ロックに関するアサーション失敗を修正しました (MDEV-39800)
- ST_GeomFromGeoJSONは、そのJSONオブジェクトの処理において処理の深さをチェックせず、メモリオーバーランを引き起こす可能性がありました。MariaDBのバージョンが12.3未満の場合、深さ32が強制されるようになり、それ以降のバージョンでは、深さはオペレーティングシステムのスタックサイズによって制限されます。 (MDEV-39813)
- 無効なkeyseg長を持つ破損したMYIでのMyISAMクラッシュ (MDEV-39816)
- シャットダウン時にsp_head::register_instr_mem_root_for_deallocationでサーバーがクラッシュする (MDEV-40004)
- '?'に対するvarchar_upper_cmp_transformer()でのプリペアドステートメントのクラッシュ (MDEV-40006)
- cached_sha2_passwordが長さゼロのパスワードでクラッシュする (MDEV-40058)
- character_set_collationsが長すぎることによるクラッシュ (MDEV-40059)
- 同梱されているコマンドラインクライアントは、サーバーからの結果に対して常に長さ制限を強制するわけではありません (MDEV-40065)
- innodb_encrypt_tables=FORCEの下で、ENCRYPTED=NOを指定した一時テーブルに対してTRUNCATEを実行するとクラッシュする (MDEV-40085)
- システムバージョン管理テーブルを使用するREPLACE DELAYEDにおけるMSAN警告を修正 (MDEV-40099)
- mariabackup SST後にN個の準備済みトランザクションが見つかりました。 (MDEV-40179)
- STOP SLAVEがSQLスレッドを停止するのと同時に、SHOW SLAVE STATUS(またはSHOW ALL SLAVES STATUS)を実行すると、サーバーがクラッシュする可能性がありました。そのステートメントによるSQLスレッドの状態の読み取りは、IOスレッドのシャットダウンとしか同期されていませんでした。そのため、停止中のSQLスレッドが、読み取りが行われている最中にその状態を解放する可能性がありました。読み取りはSQLスレッドのシャットダウンと同期されるようになり、クラッシュは発生しなくなりました (MDEV-40298)
- 不正な形式のWKBマルチポリゴンでのASANエラー (MDEV-40328)
- mariadb-import --lock-tablesがクラッシュする (MDEV-40340)
- #mysql50#が、テーブルキャッシュ内およびディスク上のテーブル名と混同される (MDEV-40362)
- 不完全な内容を含むFormat Descriptionイベントでのクラッシュを修正 (MDEV-40365)
- 不完全な内容を含むFormat Descriptionイベントでのクラッシュを修正 (MDEV-40366)
- 深くネストされたGeometryCollectionにおけるST_GeomFromTextのスタックオーバーラン (MDEV-40409)
- レプリカのリレーログが書き込まれた時点での設定と異なるbinlog_checksum設定を持つマスターにレプリカが接続する時、マスターのバイナリログファイル名がファイル名として許容される長さを超えていた場合、レプリカがクラッシュする可能性がありました。レプリカはマスターから報告されたファイル名を保存する前にその長さをチェックしなかったため、長すぎる名前によってレプリカのメモリが破損しました。レプリカは現在、サイズが大きすぎる名前を拒否し、クラッシュする代わりにエラーを伴ってIOスレッドを停止します (MDEV-40492)
- 深くネストされたGeometryCollectionにおけるST_GeomFromWKBのスタックオーバーラン (MDEV-40540)
- テーブルを開く時のfrmデータの検証不備 (MDEV-40571)
- レプリカは、マスターからのハートビートやその他のイベントが途中で切れた状態で届いた場合にクラッシュすることがありました。これは、レプリケーションストリームが転送中に破損した時に起こり得ます。そのレプリカは、切り詰められたイベントが示したサイズを信頼し、そのイベントが保持していた量よりもはるかに多くのデータを読み込んで割り当てようとしました(一部のビルドでは、4GB近くに及びました)。そのようなイベントが発生すると、現在では、不正なイベント長を特定するエラーと共にレプリカのI/Oスレッドが停止します (MDEV-40643)
- MariaDBが許容する識別子の長さを超えるデータベース名やテーブル名を含む行イベントがマスターから送信された場合、レプリカがクラッシュする可能性がありました。これは、そのイベントが破損しているか、あるいは偽造されたものであることを示しています。そのレプリカは、与えられた名前の長さを確認することなく、法的な識別子として許容されるサイズの記憶領域にその名前をコピーしました。そのようなイベントが発生すると、現在では、レプリカをクラッシュするのではなく、レプリケーションエラーによってレプリカのSQLスレッドが停止します (MDEV-40644)
- 不正なUser_var_log_eventによるスレーブのクラッシュ (MDEV-40645)
- 行イベントにおいて、付随する列情報がカバーする範囲を超える数の列が記述されていた場合、レプリカがクラッシュしたり、無関係なメモリの内容を、複製されるテーブルの構造に関する自身の記録にコピーしてしまったりする可能性がありました。レプリカは、不足分を検知するには不十分なサイズチェックに基づいてそのイベントを受け入れ、その後、そのイベントには含まれていないカラム情報を読み取りました。レプリカは、現在は、イベントが宣言したすべての列の列情報を含んでいることを検証し、そうでない場合はレプリケーションエラーでSQLスレッドを停止します (MDEV-40646)
- Rotateイベントの後に、Rotateイベントのサポートがないことを示すFormat Descriptionイベントが続く場合に発生するクラッシュを修正 (MDEV-40647)
- キーファイルが空の場合、file_key_managementプラグインがクラッシュする可能性があります (MDEV-40658)
- クラッシュリカバリを複数のバッチで実行する時、InnoDBがファイルの拡張に失敗し、そのファイルへのその後の書き込み時にクラッシュする可能性があります (MDEV-40756)
- 仮想列と全文検索インデックスを含むシステムバージョン管理テーブルに対してALTER TABLEを実行すると、クラッシュする可能性がありました。(MDEV-40985)
予期しない動作を引き起こす可能性があるもの
- 重複するCHECK制約名 (MDEV-24598)
- プロキシプロトコルを使用したログオンの成功時に、接続エラーカウントがリセットされなかった (MDEV-25817)
- mysqld_multiは同一のインスタンスを複数回起動してしまい、データベースがクラッシュする恐れがある (MDEV-26910)
- Item_func_des_encrypt::val_strにおけるValgrind/MSANエラー (MDEV-27561)
- 権限が付与されていないロールの処理が誤っている (MDEV-28743)
- リモートから読み込んだバイナリログをリプレイした後の予期しないエラー:Found out of order GTID (MDEV-29803)
- サーバーは、システムテーブルの列におけるNULL可否の変更を検出しません (MDEV-30555)
- 以前は、ウィンドウ関数を含むクエリをウィンドウ関数の処理中に強制終了できませんでした。また、ウィンドウ関数の実行に関するステートメント時間 max_statement_timeも無視されました。これらの動作はいずれも修正されました (MDEV-31209)
- ”ALTER TABLE tbl CONVERT TABLE normal_table TO partition_definition”というクエリにおいて、クエリキャッシュ(デフォルトではない)を使用した場合、”normal_table”のクエリキャッシュ無効化処理が解放済みメモリにアクセスし、未定義の動作を引き起こす可能性がありました (MDEV-33170)
- その列の前に生成列があり、かつ外部キーが存在する場合、その列を変更することはできません (MDEV-35630)
- rli->description_event_for_execにおける不正なアクセス(use-after-free) (MDEV-35691)
- ノードの証明書ファイルにリーフ証明書と中間CA証明書がバンドルされており、かつCAファイルにはルートのみが含まれていた場合(これは、cert-managerで発行された証明書や類似のPKIによく見られる構成です)、TLS証明書のチェック中にGalera SSTが中断されました(MDEV-35812)。そのチェックでは、リーフ証明書をCAファイルに対して直接検証しており、バンドルされていた中間証明書を使ってチェーンを完結させることができませんでした。現在は、バンドルされた中間証明書も考慮されるため、そのような証明書チェーンは正しく検証され、SSTの処理が進行します (MDEV-35812)
- innodb_compression_algorithmにzlib以外のアルゴリズムが指定されている場合、MariaDBは起動時にページ圧縮されたInnoDB テーブルを開くことができません (MDEV-36147)
- innodb_log_group_home_dirまたはaria_log_dir_pathがSSTドナーノードにおいてdatadirと異なる場合、Galeraのrsync SSTメソッドが正しく動作しませんでした。今回のリリースには、データディレクトリの場所が異なる場合にも対応できるよう、rsync SSTスクリプトの修正が含まれています (MDEV-36677)
- Ariaテーブルからの削除により、Windows上でインデックスが破損する可能性がありました (MDEV-37000)
- パーティション分割されたテーブルは、大文字と小文字を区別しないファイルシステム上でも正しく命名されるようになり、名前変更やそれらを変更する時の結果を予測できるようになりました (MDEV-37739)
- SHOW TABLESを使用すると、GRANT OPTION権限のみを持つユーザーでも、データベース "mysql"内のすべてのテーブル名を読み取りできる (MDEV-37951)
- ベクトルテーブルの作成に失敗した時、サーバーが.ibdファイルを削除できない (MDEV-38842)
- バージョン管理された列を含むテーブルへのODKU実行時に、Assertion table->vers_writeが失敗する (MDEV-38854)
- 長すぎるデータベース名はエラー無しで受け入れられていましたが、GRANT文(データベースレベル)では64文字に切り詰められました (MDEV-39047)
- プラグイン名が純粋なASCII文字であることを確認してください (MDEV-39245)
- 暗黙の型変換を伴うNOT ( ... XOR ... ) 評価における論理バグ (MDEV-39363)
- mariadb-backup --decompressにおけるファイル名のチェックの欠落 (MDEV-39565)
- PROXY v2プロトコルにおける未初期化メモリの読み取り (MDEV-39576)
- 動的列ヘッダーにおける妥当性チェックの欠落 (MDEV-39581)
- 不正な形式のWKBポイントでのASANエラー (MDEV-39657)
- バージョン11.4で追加されたJSON関数(JSON_ARRAY_INTERSECT、JSON_OBJECT_TO_ARRAY、JSON_SCHEMA_VALIDなど)は、KILL QUERYによる中断やmax_statement_timeの超過による中断が可能になりました。簡易機能として追加されたJSON_KEY_VALUE関数は、適用できません。現在、すべての関数は、無効なJSONが渡された場合に警告を生成します (MDEV-39742)
- SHOW CREATE TABLEがバッククォートで囲まれたテーブルオプションを破損させる (MDEV-39776)
- RocksDBにおける32ビットサイズ切り詰め (MDEV-39812)
- off-by-oneエラーが原因で、JSON_ARRAYAGG()が不正な値を返す (MDEV-39817)
- 外部キー名のバッククォートにより、SHOW CREATE TABLEが壊れる (MDEV-39818)
- HandlerSocketプラグインのデフォルトシークレットが空である (MDEV-39841)
- sql_mode=ONLY_FULL_GROUP_BYが設定されている場合、相関サブクエリが外部クエリの列を集約する時、サーバーは正しい結果の代わりに、誤ってER_WRONG_FIELD_WITH_GROUPエラーを発生させました (MDEV-39932)
- ユニークなBLOBおよびbinlog_row_image=MINIMALを使用するRBRにおいて、スレーブ上でAssertion marked_for_read()が失敗する #3 (MDEV-40057)
- THD::print_aborted_warning(unsigned int, char const*) における未初期化値の使用 (MDEV-40103)
- 初期化されていないメモリの使用により、システムバージョン管理テーブルで、そのバージョニング行に基づく範囲クエリのクエリプランが予測不能になる可能性がありました (MDEV-40147)
- JSON_OVERLAPS、JSON_LENGTH、JSON_DEPTH、JSON_EQUALS、JSON_NORMALIZEは、KILLクエリに応答せず、max_statement_timeシステム変数も考慮しませんでした。JSON_EQUALSおよびJSON_NORMALIZEは、構文が正しくない場合に警告を返すようになりました (MDEV-40165)
- JSON_VALIDに大きなドキュメントが渡された場合、JSON_VALIDを停止することができませんでした。また、max_statement_timeも尊重されませんでした。この関数のエラー処理が修正されたことに伴い、JSONが無効である場合には、その無効な箇所と理由を示すSQLの通知も行われます (MDEV-40175)
- 符号なし整数を読み取る時、動的カラムが、シフトカウンタとして使用された64という値を超えてしまう可能性がありました (MDEV-40200)
- シングルクォートを使用すると SHOW CREATE USERが無効になる (MDEV-40308)
- mariadb-dumpは識別子を常にクォートするわけではない (MDEV-40311)
- SHOW CREATE SERVERにおける不適切な引用符の使用 (MDEV-40312)
- シンボリックリンクされたテーブル名がエンコードされない (MDEV-40358)
- MyISAM/Ariaは、ファイル名が長すぎる場合、ファイル名から拡張子を警告なしに切り詰めます (MDEV-40395)
- SFORMATがmax_allowed_packetを無視する (MDEV-40411)
- ALTER TABLE ... CONVERT ... PARTITIONがパーティション名をエンコードしない (MDEV-40413)
- 空のパスワードでGRANT PROXYを実行すると、権限付与者の権限が誤ってチェックされる (MDEV-40470)
- ビューが、ビューのfrmファイルにおいてユーザー名をエスケープするようになりました。定義者の名前にバックスラッシュが含まれている古いビューは再作成される必要があります (MDEV-40484)
- BLOBからベクトルを作成する時のER_TOO_BIG_FIELDLENGTHまたはアサーション失敗 (MDEV-40486)
- wsrep_debug=1の場合、Galeraのメタデータ競合時のロック動作が正しくないように見えるかもしれません (MDEV-40538)
- ST_GeomFromWKB関数に渡された、無効なバイトオーダーフィールドを持つWKBのマルチポイントについて、以前は有効な値を返していましたが、NULLを返すように修正されました (MDEV-40552)
- イベントの宣言サイズと実際に送信されたデータ量が一致しないイベントを送ることで、マスターがレプリカに同じステートメントを2回適用させ、結果としてマスターのバイナリログには一度も含まれていなかったデータを持たせる可能性がありました。レプリカはそのようなイベントを受信済みとしてリレーログに保存し、その余分なバイトに隠れていた2つ目のイベントが、マスターが送信したかのようにあとで適用されました。現在、レプリカは受信時に2つのサイズを比較するようになり、そのため、不整合なイベントが発生すると、IOスレッドはエラーで停止し、リレーログには到達しません。これにより、レプリカのデータがそのマスターのバイナリログと照合して検証不可能であったという問題が解消されます (MDEV-40648)
- mysql_jsonプラグインにおけるOOB読み取り (MDEV-40678)
- DROP PACKAGEを実行しても、mysql.procs_privにPACKAGE BODYの権限付与が残ってしまう (MDEV-40722)
- DDL操作中に強制終了された後、InnoDBがリカバリに失敗する可能性がありました。(MDEV-40728)
- CREATE ... SELECT VEC_FROMTEXT(...)は、すべての値を拒否するVECTORカラムを作成する可能性がある (MDEV-40751)
- 大きなメモリ割り当てでは、利用可能な場合(Linux と Illumos)にMAP_NORESERVEを使用し、巨大なメモリマッピング(例えば、innodb_buffer_pool_size_maxのデフォルト値では8TiB)が、実際にはメモリを確保しないようにしています(Illumosではデフォルトで確保されてしまう)。--large-pageのメモリ動作は変更されません。(MDEV-40921)
- Galeraにおいて、CREATE TABLE AS SELECTが正しくレプリケートされませんでした。(MDEV-40929)
インストールとアップグレードに関連するもの
- それらが存在しない場合のフォールバックメッセージロギング機能を提供する (MDEV-38075)
パフォーマンスに関連するもの
- InnoDBの暗号化スレッドがビジーウェイトを行わなくなり、innodb_encrypt_tablesおよびinnodb_encryption_rotate_key_ageに対して迅速に応答するようになりました (MDEV-34358)
- HashiCorp Key Managementプラグインは、処理コストの高い時刻取得関数の呼び出しを回避することで、パフォーマンスを向上させました (MDEV-37187)
- オプティマイザのトレースが無効な場合の高速パスをインライン化し、ホットパス上の関数呼び出しを予測分岐に置き換えました (MDEV-39490)
- ディスクからCOSINEメトリックインデックスを再読み込みすると、abs2量子化ノイズが原因で検索の再現率が低下する (MDEV-39858)
- lock_move_reorganize_page()におけるロック粒度の改善 (MDEV-40128)
- 各ロック解除処理に工夫を凝らすことで、すべてのトランザクションロックの解除を一時的な事象に対してより堅牢なものにし、後続の処理で排他ラッチを取得する可能性を低減させる (MDEV-40129)
- パフォーマンス向上のため、JSON正規化時の検証をインラインで行うようにしました。(MDEV-40174)
- MEMORYテーブルが、DELETE時にインデックススキャンを誤って再開する (MDEV-40186)
- lock_move_reorganize_page()における早期終了チェックは、 lock elisionを使用する場合にのみ有用です (MDEV-40427)
- mariadb-binlog --verify-binlog-checksum --force-readにおける、不正なチェックサムに起因するメモリリークを修正 (MDEV-40544)
予期しない結果
- 名前解決:マージされた派生テーブルからのグループ化SELECTでの誤った結果 (MDEV-17846)
- エラーコード/エラーメッセージがテーブル構造に関する情報を開示する (MDEV-23086)
- ST_GeomFromWKBに渡された、無効なバイトオーダーフィールドを持つWKBのマルチラインについて、以前は有効な値を返していましたが、NULLを返すように修正されました (MDEV-26813)
- PROCEDURE_ANALYSE()における標準偏差の計算は、計算がDOUBLEの最大値を超えるまでは、大きなBIGINTカラムに対してオーバーフローしなくなります (MDEV-28374)
- 大規模な入力に対するJSON関数(JSON_CONTAIN、JSON_CONTAINS_PATH、JSON_EXISTS、JSON_EXTRACT、JSON_KEYS)は、以前はKILLクエリによる中断ができず、最大クエリ時間を超過する可能性がありました (MDEV-28404)
- JSON_EQUALS、JSON_NORMALIZE、または順序付けを使用して2つのJSONオブジェクトを比較する時、同一のオブジェクトキーが複数回出現するオブジェクトが含まれていると、予期しない結果が生じる可能性がありました。正規化の処理が整合性のあるものとなるよう修正されました (MDEV-28922)
- SQLカーソルを使用してJSON関数からfalse値を取得する時、プロトコル上の幅指定が誤っていたため、"false"が"fals"に切り詰められました (MDEV-31554)
- ALTER TABLE ... AUTO_INCREMENT = NN; は、指定された値を使用できない場合、警告を返すべきです (MDEV-33660)
- ST_GeomFromWKBに渡された、バイトオーダーフィールドが不正であったWKBジオメトリ(マルチポリゴンまたはジオメトリコレクション)について、以前は有効な値が返されていましたが、NULLが返されるように修正されました。 (MDEV-35595)
- json_table使用時の予期しない照合順序 (MDEV-36764)
- オブジェクトの配列を含むJSONに対して、JSON_SCHEMA_VALID() が誤った結果を返しました。(MDEV-38033)
- LONGTEXTに対する単項否定演算、GROUP BYの下で誤った結果となる (MDEV-38210)
- JSON_EXISTSは、JSON関数の深さ制限を超えることを許可されました (MDEV-39276)
- Oracle sql_modeにおいて、UNIONを含むクエリがER_BAD_FIELD_ERROR/ER_UNKNOWN_TABLEで失敗する (MDEV-39522)
- mariadb-install-dbで使用される --bootstrapモードにおいて、不要な遅延が解消され、プラグインのクリーンアップ関数が呼び出されるようになりました (MDEV-39585)
- 提供されているwsrep.cnfから、非推奨となったwsrep_causal_readsを設定オプションとして削除してください (MDEV-39691)
- カーソルからJSON_ARRAY_INTERSECTの結果を選択する時、長さの設定が誤っていたために結果フィールドが空になっていました (MDEV-39716)
- HAVINGからWHEREへ”NOT a”条件をプッシュする時にクラッシュする (MDEV-39916)
- ST_GEOMFROMGEOJSONに、そのオブジェクトを定義する他のすべてのGeoJSONオブジェクトよりも後にその”type”が指定されたJSONオブジェクトを渡すと、以前はオブジェクトではなくNULLが返されていました (MDEV-39981)
- {{LOAD DATA LOCAL INFILE}}パスが成功した場合、{{BEFORE INSERT}} トリガーはベース列を変更できますが、{{STORED}} 生成列は、そのトリガーによる変更の前に計算された値を保持します。したがって、永続化された行は、それ自身の生成列式に違反します。(MDEV-40480)
- mariadb-binlog --force-readは、”既知の”イベントと一致するように、Unknownイベントのチェックサムも一貫して表示するようになりました (MDEV-40542)
- KILLは(priv_userではなく)ユーザーをチェックし、ホスト名を検証しない (MDEV-40554)
- ST_CROSSESは、次元の異なるジオメトリに対して常に0を返す (MDEV-40584)
- クエリに\0が含まれる場合のqc_info OOB読み取り (MDEV-40670)
- 空の結果セットとなるROLLUPクエリの結果を修正。(MDEV-40698)
- MariaDB 11.4 Audit Pluginにおいて、server_audit_syslog_identがハイフン(-)からアンダースコア(_)に変更されました (MENT-2862)
プラットフォーム
エンタープライズライフサイクルに合わせて、MariaDB Enterprise Server 11.8.9-6は以下に対して提供されます:
- AlmaLinux 8 (x86_64, ARM64)
- AlmaLinux 9 (x86_64, ARM64)
- AlmaLinux 10 (x86_64, ARM64)
- Debian 11 (x86_64, ARM64)
- Debian 12 (x86_64, ARM64)
- Debian 13 (x86_64, ARM64)
- Oracle Linux 8 (x86_64, ARM64)
- Oracle Linux 9 (x86_64, ARM64)
- Oracle Linux 10 (x86_64, ARM64)
- Red Hat Enterprise Linux 8 (x86_64, ARM64)
- Red Hat Enterprise Linux 9 (x86_64, ARM64, PPC64LE)
- Red Hat Enterprise Linux 10 (x86_64, ARM64)
- Rocky Linux 8 (x86_64, ARM64)
- Rocky Linux 9 (x86_64, ARM64)
- Rocky Linux 10 (x86_64, ARM64)
- SUSE Linux Enterprise Server 15 (x86_64, ARM64)
- Ubuntu 22.04 (x86_64, ARM64)
- Ubuntu 24.04 (x86_64, ARM64)
- Ubuntu 26.04 (x86_64, ARM64)
- Microsoft Windows (x86_64) (MariaDB Enterprise Cluster (Galera) のサポートなし)
- Red Hat UBI 8 (x86_64, ARM64)
- Red Hat UBI 8 は Enterprise Server Docker イメージの一部です。MariaDB Enterprise Cluster (Galera) および MariaDB ColumnStore はサポートされていません。
MariaDB Enterprise Serverの一部のコンポーネントは、プラットフォームのサブセットでサポートされています。詳細については、MariaDB Engineering Policiesを参照してください。
MariaDB Enterprise Server 11.8.9-6 リリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/release-notes/enterprise-server/11.8/11.8.9-6
MariaDBプロダクト・サポート・サービス

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