|
MySQL 5.0.91 リリースノート (日本語翻訳)
製品ライフサイクルの終了。
MySQLDatabaseServerバージョン5.0のアクティブな開発およびサポートは終了しましたが、延長サポートは引き続きご利用いただけます。詳細については、http://www.mysql.com/about/legal/lifecycle/#calendarを参照してください。MySQLライフサイクルポリシー(http://www.mysql.com/about/legal/lifecycle/#policyを参照)により、MySQL5.0で修正されるのは、SecurityおよびSeverityレベル1の問題のみです。最新バージョンへのアップグレードをご検討ください。
本セクションでは、MySQLEnterpriseServerおよびMySQLCommunityServerの最新版のリリース(5.0.90)以降に行われたすべての変更およびバグ修正について記載します。ご使用のバージョンと機能に関連する修正について、さらに詳しい個別の 更新情報 が必要な場合には、 MySQLEnterprise (MySQLの商用版)のサブスクリプションをご検討ください。詳細については、http://www.mysql.com/products/enterprise/advisors.htmlを参照してください。
修正されたバグ:
・
セキュリティ修正
:サーバは、
COM_FIELD_LIST
コマンドパケットのテーブル名引数の正当性および
テーブル名の許容基準への準拠をチェックしていなかった。したがって、
特別に作成されたテーブル名引数を
COM_FIELD_LIST
に付与することで、
権限およびテーブルレベルの許可に対するほぼすべての形式のチェックを迂回することが可能であった。
つまりMySQL5.0以降では、1つのテーブルの
SELECT
権限を有する認証済みユーザが、その他のすべてのデータベースのすべてのテーブルのフィールド定義を取得でき、さらにはサーバのファイルシステムからアクセス可能なその他のMySQLインスタンスも取得できる可能性があった。
さらにMySQL5.1以降では、1つのテーブルの
DELETE
または
SELECT
権限を有する認証済みユーザが、このサーバ上にあるすべてのデータベースのすべてのテーブルのコンテンツだけでなく、サーバのファイルシステムからアクセス可能なその他のMySQLインスタンスの削除や読み取りを行うことが可能であった(
Bug#53371
、
CVE-2010-1848
)。
・
セキュリティ修正
:
COM_FIELD_LIST
コマンドパケットのテーブル名引数に対して境界チェックを行わないため、
サーバがバッファオーバーフロー攻撃を受ける可能性があった。テーブル名に長いデータを送信することでバッファのオーバーフローが引き起こされるため、認証済みユーザが悪意のあるコードを投入する可能性があった(
Bug#53237
、
CVE-2010-1850
)。
・ セキュリティ修正 :1つのパケットの最大サイズよりも大きなパケットを受信した場合、サーバが無制限にパケットの読み取りを続ける可能性があった( Bug#50974 、 CVE-2010-1849 )。
・オプティマイザは、行が読み取られる前に、
WHERE
句の評価を試みる可能性があった。その結果、サーバがクラッシュした(
Bug#52177
)。
・Windowsでは、
LOAD_FILE()
は一部のパス名でクラッシュを引き起こす可能性があった(
Bug#51893
)。
・空間インデックスを持つテーブルで
HANDLER
ステートメントを使用すると、サーバがクラッシュした(
Bug#51357
)。
・XAトランザクションがアクティブな状態で
SETautocommit=1
を使用すると、メモリ破損やサーバクラッシュなどの副作用が生じる可能性があった(
Bug#51342
)。
・テストスイートのSSL証明書が期限切れ間近だった。2015年まで有効期限が延長された( Bug#50642 )。
・デバッグビルドにおいて、
ORDERBY
式を一致させる際に
オプティマイザで表明が不正に発生した(
Bug#50335
)。
・
CHAR(0)
カラムに
filesort
ソートメソッドを適用すると、サーバがクラッシュする可能性があった
(
Bug#49897
)。
・マニュアルの記載とは異なり、
sql_buffer_result
は非
SELECT
ステートメントに影響を与えた(
Bug#49552
)。
・テーブルが範囲を超えた時に、
EXPLAINEXTENDED
が
FROM
句内のサブクエリのコラム名を出力しようとしてクラッシュした(
Bug#49487
)。
・
mysql-test-run.pl
は
MTR_TESTCASE_TIMEOUT
、
MTR_SUITE_TIMEOUT
、
MTR_SHUTDOWN_TIMEOUT
、
MTR_START_TIMEOUT
の各環境変数を認識するようになった。各環境変数が設定された場合、それぞれの値は
--testcase-timeout
、
--suite-timeout
、
--shutdown-timeout
、
--start-timeout
の各オプションの設定に使用される(
Bug#49210
)。
・一部の
INTERVAL
式によって64ビットシステムがクラッシュする可能性があった(
Bug#48739
)。
・サーバは、非決定的
ON
句(
RAND()
関数、ユーザ定義関数、または
NOTDETERMINISTIC
ストアドファンクションが含まれているものなど)を使用した外部結合を伴うクエリの最適な実行計画を決定できない場合にクラッシュした(
Bug#48483
)。
・外部クエリが不正な場合、サブクエリの設定さえ行われない可能性があった。
EXPLAINEXTENDED
はこれを想定していないため、不適切に設定された情報を参照先データとして取得しようとしてクラッシュした(
Bug#48295
)。