修正されたセキュリティ脆弱性
CVE | CVSSベーススコア |
CVE-2025-30693 | 5.5 |
CVE-2023-52969 | 4.9 |
CVE-2023-52970 | 4.9 |
ストレージエンジンの変更
- このリリースには、MariaDB ColumnStore エンジン バージョン 23.10.4が組み込まれています。
注目すべき変更点
- 新しいユーザー変数 analyze_max_lengthが追加されました。デフォルト値は4Gです。このバイト値を超えるフィールドは、FOR COLUMNS()で指定されていない限り、ANALYZE TABLE PERSISTENTによって無視され、long char/varcharの統計情報は収集されません。(MENT-2301)
- SBOMに「ライセンス」と「著作権」の情報が含まれるようになり、セキュリティコンプライアンスと依存関係の追跡が改善されました。 (MENT-2311)
- MariaDBが実質的にroot CAP_DAC_OVERRIDEとして実行 (MDEV-36229)
- my_getoptがオプション名を大文字と小文字を区別して比較する (MDEV-27126)
- Galeraが26.4.22にアップデートされました
修正された問題
データ損失が発生する可能性があるもの
- 同じタイムスタンプと同じマルチステートメントトランザクションを持つ複数のシステムバージョン管理されたDELETEに対して、InnoDBが誤ったパーティションの行を検索しているというアサーション(MDEV-36115)
ハングまたはクラッシュを引き起こす可能性があるもの
- FULLTEXT INDEXを含むDDLのエラー処理が正しくありません (MDEV-36061)
- ALTER TABLE…SEQUENCEがInnoDBで正しく動作しません (MDEV-36038)
- ALTER TABLEまたはOPTIMIZE TABLEとトランザクション履歴のパージの間の競合状態が修正されました。 (MDEV-36122)
- 空間インデックスのレコード削除中にサーバーが異常終了する (MDEV-35420)
- VIRTUAL列を含むCREATE INDEXと同時にUPDATEをコミットしようとすると、サーバーがクラッシュする可能性がある (MDEV-36281)
- Windowsでアップグレードが失敗する (MDEV-36128)
- テーブルのロードに失敗した後、dict_sys_t::load_table / get_foreign_key_infoでASANエラーが発生する (MDEV-33167)
- ALTER TABLE…DROP COLUMNに失敗した後にALTER TABLE…DROP COLUMNを実行すると、サーバーがクラッシュする可能性がある (MDEV-36236)
- fill_recordでフィールドポインターが初期化されていない可能性がある (MDEV-36181)
- プライマリサーバーが以前に準同期レプリケーションを無効にし、接続がすでに確立されていた場合 (および `rpl_semi_sync_master_wait_no_slave=0`)、準同期接続が停止するとプライマリサーバーがクラッシュする可能性があります。(MDEV-36359)
- インデックスIDが32ビットに収まらない仮想列のインデックスに関する不正確なUNDOログ記録 (MDEV-36613)
- wsrep_ignore_apply_errors = 0の場合、ログに表示されるように、Sql_cmd_dml::prepare()でthd->is_error()アサーションが失敗したため、ノードがクラッシュします。 (MDEV-35946)
- 場合によっては、MDLロックが存在する場合 (例えば、LOCK TABLEの実行時)、トランザクションがBFアボートされた際にサーバーコードでメタデータロック (MDL) が不適切に処理されることにより、ノードがシステムスレッドでスタックする可能性があります。 (MDEV-35941)
- MDEV-31413の修正後のリグレッション - wsrep::transaction::before_rollback()のアサーションによってサーバーがクラッシュすることがあります。例えば、wsrep_osu_method=RSUのARIAテーブルでOPTIMIZE TABLEを使用した場合などです。(MDEV-32631)
- プライマリノードでOLTP負荷がアクティブになっているなど、高負荷時にgtid_strict_modeが有効になっていると、SST障害が発生します。このエラーの典型的な症状は、診断 "[ERROR] mariadbd: Error writing file 'binlog'"が表示されることです。デバッグバージョンでは、wsrep::transaction::before_rollback()関数のアサーションで、"Assertion `state() == s_executing || state() == s_preparing || state() == s_prepared || state() == s_must_abort || state() == s_aborting || state() == s_cert_failed || state() == s_must_replay' failed"というメッセージが表示されてクラッシュする可能性もあります。(MDEV-34891)
- Galeraでは、小さなキャッシュでシーケンスを作成すると、シグナル 6 エラー:[ERROR] WSREP: FSM: no such a transition REPLICATING -> COMMITTEDにつながります。 (MDEV-33850)
- 高負荷状態では、メモリ負荷状態によりwsrep内部スレッドが終了する可能性がありますが、これはクラッシュではありません。ただし、デバッグバージョンでは、ユーザーは、wsrep_to_isolation_begin()関数で次のメッセージを含むアサーションに遭遇する可能性があります: "int wsrep_to_isolation_begin(THD*, const char*, const char*, const TABLE_LIST*, const Alter_info*, const key_array*, const HA_CREATE_INFO*): Assertion `(0)' failed." (MDEV-36116)
- innobase_commit() (ha_innodb.cc)でアサーション `commit_trx'が失敗しました。バイナリログが無効になっているにもかかわらず、sql_log_bin=0のINSERTはGaleraで引き続きレプリケートされます (MDEV-7205 による)。これにより、バイナリログが部分的にバイパスされ、2フェーズコミット (2PC) が必要になります。2PC中、まずINSERTが準備され(InnoDBでPREPARED状態になります)、コミット時に、MDEV-24035の新しいアサーションが失敗し、ログに"Assertion 'commit_trx' failed"というクラッシュが発生します。(MDEV-35658)
- シーケンスが使用され、INSERTが複数のGaleraノードで並列実行されると、トランザクションが認証に合格した後に中止される可能性があります。その後ロールバックを試みると、予約済みのシーケンス値を含むバイナリログステートメントキャッシュが、途中で書き込まれる可能性があります。これにより、ログに"WSREP: FSM: no such a transition REPLICATING -> COMMITTED"という診断が出力され、クラッシュが発生します。これは、トランザクションが再生され、最終コミット時にのみバイナリログに書き込まれることになっているためです。(MDEV-33589)
- Galeraノードは、不適切なミューテックス処理によってハングする可能性があります:スレッドは、ストリーミングレプリケーションのロールバックをトリガーしながらlock_sys.wait_mutexを保持しており、THD::LOCK_thd_killの取得も試みたため、ミューテックスの使用が不適切になりました。デバッグバージョンでは、この結果、"safe_mutex: Found wrong usage of mutex 'wait_mutex' and 'LOCK_thd_data'"といった診断が表示されますが、デバッグバージョンとリリースバージョンの両方で、ノードがハングする可能性はあります。 (MDEV-36509)
- クエリキャッシュがブロックを割り当てられない時の破損 (MDEV-34075)
- UPDATE時のItem_args::walk_argsでのスタックループとSIGSEGV (MDEV-31647)
- find_field_in_tablesでサーバークラッシュが発生し、find_field_in_table_refでアサーション `name'が失敗しました (MDEV-25012)
- server_audit_file_pathが長いと、バッファオーバーフローが発生する (MDEV-36245)
- 挿入対象テーブルを含む派生テーブルから挿入するとサーバーがクラッシュする (MDEV-32086)
予期しない動作を引き起こす可能性があるもの
- CREATE INDEXがFOREIGN KEY制約の修復に失敗する (MDEV-35962)
- innodb_checksum_algorithm=full_crc32のpage_compressedページの二重書き込みリカバリが機能しない (MDEV-36180)
- パーティションテーブルに対するALTERとSELECTの同時実行でセグメントフォールトが発生する (MDEV-31122)
- ST_PointFromWKBはSRID引数を無視し、常にSRIDが0であるPOINTを作成します (MDEV-32619)
- mariadb-dumpが誤った引用符文字を使用しました (MDEV-36268)
- あるノードの破損したテーブルにより、クラスターがトランザクションに失敗したノードを排除する投票を開始した後、現在のマスターはそれ以上コミットできなくなり、ハングします。(MDEV-34998、MENT-2081)
- MDEV-32157は、Spiderラッパーを大文字と小文字を区別しないように修正するなど、様々な修正を目的としていました。しかし、UDF spider_direct_sqlでは依然として大文字と小文字の区別が必要になる可能性があるため、この修正は不完全でした。MDEV-35807ではこれは修正されています。(MDEV-35807)
- wsrep_osu_method=TOIかつwsrep_strict_ddl=ONの場合、パーティションテーブルの作成は許可されず、パーティションテーブルの変更や削除ができません。 (MDEV-27861)
- CONNECTエンジンテーブルを作成しようとすると、誤ったエンジンチェックのため、ログに"non-InnoDB sequences in Galera cluster"というエラーメッセージが記録されます。 (MDEV-35748)
- innodb_snapshot_isolation=1でコミットされていない行の変更に対してエラーが発生する (MDEV-36639)
- Ariaエンジン: ログの初期化に失敗しました (MENT-2235)
- ファイルハンドルが不足している場合、MariaDBバックアップは、パーティション化されたMyISAMテーブルに対して”Error on file ./test/t1#P#p513.MYD open during `test`.`t1` table copy”というようなエラーを返します (MENT-2089)
- シーケンスに対する権限を持たないユーザーが、列のデフォルトを使用してシーケンスを読み込んだり変更したりできます (MDEV-36413)
- ユーザーがセキュリティ呼び出し元を持つビューを介してシーケンスに不正にアクセスしています (MDEV-36380)
予期しない結果
- テストされていない ha_spider::index_first_internalは壊れたクエリを構築します (MDEV-36324)
- 単一レコードと集計を含むテーブルからの誤った結果 (MDEV-35238)
- INSERT INTO ... SELECT ... FROM Spiderテーブル を実行する際に予期しないエラー 1264 'Out of Range Value for Column'が発生する (MDEV-35874)
- ビューから選択する際に、group byハンドラーで定数フィールドが見つからない (MDEV-36307)
- udf spider_copy_tablesを呼び出すテストが --view-protocol で失敗する (MDEV-36335)
パフォーマンスに関連するもの
- dict_stats_fetch_from_ps()は、不必要に排他的なdict_sys.latchを保持します (MDEV-35436)
- 非同期フラッシュ中にページクリーナーが空きページの生成に失敗すると、停止してクラッシュする (MDEV-36226)
プラットフォーム
エンタープライズライフサイクルに合わせて、MariaDB Enterprise Server 10.6.22-18は以下に対して提供されます:
- AlmaLinux 8 (x86_64、ARM64)
- AlmaLinux 9 (x86_64、ARM64)
- Debian 11 (x86_64、ARM64)
- Debian 12 (x86_64、ARM64)
- Microsoft Windows (x86_64) (MariaDB Enterprise Cluster を除く)
- Oracle Linux 8 (x86_64、ARM64)
- Oracle Linux 9 (x86_64、ARM64)
- Red Hat Enterprise Linux 8 (x86_64、ARM64)
- Red Hat Enterprise Linux 9 (x86_64、ARM64、PPC64LE)
- Rocky Linux 8 (x86_64、ARM64)
- Rocky Linux 9 (x86_64、ARM64)
- SUSE Linux Enterprise Server 12 (x86_64)
- SUSE Linux Enterprise Server 15 (x86_64、ARM64)
- Ubuntu 20.04 (x86_64、ARM64)
- Ubuntu 22.04 (x86_64、ARM64)
- Ubuntu 24.04 (x86_64、ARM64)
- 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 10.6.22-18 リリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/release-notes/enterprise-server/10-6/release-notes-for-mariadb-enterprise-server-10.6.22-18
MariaDBプロダクト・サポート・サービス
MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。