【レポート】
MySQL5.0系の最新の安定版バージョンとなる5.0.26が、日本時間の10月10日深夜にリリースされた。5.0.25は商用ライセンス版のみ提供され、一般向けの提供は行なわれなかった。
若干の機能追加と、200余りのバグフィックスが行なわれている。致命的なバグを意味するS1バグの修正も数多く行なわれている。すべてを紹介することはできないが、多くの利用者にとって重要と思われる、セキュリティ関連のバグ修正や、日本語処理に関する部分などを中心に簡単に紹介しよう。
本脆弱性が発生するのは、一般ユーザーが作成したストアドファンクションA(実行者の権限で動作)と、管理者ユーザー(root)が作成したストアドファンクションB(作成者の権限で動作)の2つがある場合である。一般ユーザーがB経由でAを実行すると、AはBの権限(root権限)で動作してしまうのである。したがって、Aの中に、一般ユーザーでは実行できない悪意あるSQL文を仕込んでおき、B経由でそれをroot権限で実行する、といった攻撃ができてしまっていた。
本脆弱性は、UNIX/Linux系OSなど、ディレクトリ名/ファイル名の大文字・小文字の区別をつけるOSでのみ発生する。
MySQLユーザー名と同一名称のデータベースが作成されていて、そのデータベースに対するUSAGE権限(接続権限)とCREATE権限(テーブル作成権限)が付与されているとする。このとき、そのユーザーは、同名で大文字・小文字だけが異なるデータベースを作成できてしまっていた。たとえば"japan"というユーザーと"Japan"というデータベースがあったとしたら、japanユーザーは"JAPAN"、"japan"、"jApan"など、大文字/小文字が違うだけのデータベースを作成できてしまう。
この脆弱性は4.1系でも発生する不具合で、4.1.21で修正されている。5.0系では5.0.19の時点で修正されているのだが、今回のChange LogにSecurity Fixとして記述されているため、ここで触れることにした。
コマンドラインツールmysqlにおいて、CHARSETコマンドという文字エンコーディング指定のための新構文が追加された。以下のように実行する。
この場合は、クライアント側の文字エンコーディングがcp932にセットされる。これは、従来から提供されているSET NAMES文の機能に加え、コマンドラインツールmysql側で認識する文字エンコーディングも同時に変更する、という特徴がある。
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
[西部警察]大門のサングラスは照れ隠し? 制作担当者が語る舞台裏 [09:00 2/11] エンタメ |
|
9ストーリーズ ~バレンタインのエピソード~ [08:05 2/11] キャリア |
|
RX-7改フェラーリ登場!/マジックRX-7XX 【大阪オートメッセ2012】 [08:04 2/11] キャリア |
|
【連載】鉄道トリビア 第137回 山手線と京浜東北線から●●●が消えた!? [08:00 2/11] ライフ |
|
JRグループ、「周遊きっぷ」を見直し - 19の周遊ゾーンが3/31で販売終了に [07:30 2/11] ライフ |