MySQL 認証の脆弱性は 5.5.24 にアップグレードすると修正される可能性があります

MySQL 認証の脆弱性は 5.5.24 にアップグレードすると修正される可能性があります

今朝、コンピューターの電源を入れると、seclists で衝撃的なスレッドを見つけました: http://seclists.org/oss-sec/2012/q2/493MySQL には、5.1 から 5.5 までのほぼすべてのバージョンに影響する重大なセキュリティ脆弱性があります。問題となるモジュールは、ログイン時のパスワード認証部分(password.c)です。ユーザー名(rootなど)が分かっている場合は、単純に何度も再試行(平均約256回)するだけでログインできます。ただし、MySQL 認証では、ユーザー名、IP、パスワードの 3 組が使用されます。クライアントの IP が mysql.user テーブルに見つからない場合、ログインできません。

このバグは実は 4 月にはすでに発見されていました。今年 5 月 7 日に MySQL 5.5.24 がリリースされたときに、このバグは修正されました。

脆弱性分析:

問題のあるコードは次のとおりです

/*
暗号化されたメッセージがパスワードと一致していることを確認する。
受信した応答が本物であるかどうかをサーバーが確認するために使用されます。
この関数は与えられた文字列の長さをチェックしません。メッセージは
ヌル終端、応答およびhash_stage2は少なくともSHA1_HASH_SIZEである必要があります
長いです(そうでない場合は、何か怪しいことが起こっています)。
概要
チェックスクランブル()
クライアントの応答をスクランブルします。おそらく scramble() によって生成されます。
メッセージの元のランダムな文字列、以前にクライアントに送信されました
(おそらくscramble()の2番目の引数)は、
正確に SCRAMBLE_LENGTH の長さで、NULL で終了します。
hash_stage2 hex2octet デコードされたデータベースエントリ
すべてのパラメータは IN です。

戻り値
0 パスワードは正しいです
!0 パスワードが無効です
*/

マイブール
check_scramble(const uchar *scramble_arg、const char *message、
定数uint8 *hash_stage2)
{
SHA1_CONTEXT sha1_コンテキスト;
uint8 buf[SHA1_HASH_SIZE];
uint8 ハッシュステージ2再保証[SHA1_HASH_SIZE];

mysql_sha1_reset(&sha1_context);
/* スクランブルを暗号化するためのキーを作成する */
mysql_sha1_input(&sha1_context、(const uint8 *) メッセージ、SCRAMBLE_LENGTH);
mysql_sha1_input(&sha1_context、hash_stage2、SHA1_HASH_SIZE);
mysql_sha1_result(&sha1_context, バッファ);
/* 暗号化スクランブル */
my_crypt((char *) buf, buf, scramble_arg, SCRAMBLE_LENGTH);
/* buf には hash_stage1 が含まれているはずなので、hash_stage2 を取得できます */
mysql_sha1_reset(&sha1_context);
mysql_sha1_input(&sha1_context, buf, SHA1_HASH_SIZE);
mysql_sha1_result(&sha1_context、hash_stage2_reassured);
memcmp(hash_stage2、hash_stage2_reassured、SHA1_HASH_SIZE) を返します。
}

memcmp の戻り値は実際には int であり、my_bool は実際には char です。その後、int を char に変換すると、切り捨てが発生する可能性があります。例えば、memcmp は 0×200 を返しますが、これは切り捨て後に 0 になり、check_scramble 関数の呼び出し元は「パスワードは正しい」と誤って認識します。

しかし、一般的に言えば、memcmpの戻り値は[127,-128]の範囲内です。 glibc の SSE 最適化コードの場合はそうではありません。したがって、このバグは特定のコンパイル環境でのみ発生します。つまり、MySQL がコンパイルされ、-fno-builtin が追加され、使用される glibc が SSE 最適化されている場合です (通常、システム独自の glibc の場合)。ここで言及されている glibc は Linux の glibc を指します。FreeBSD の libc は影響を受けません。

一般的に、このバグは非常に深刻です。MySQL でこのようなバグが最後に発生したのは、3.23/4.0 時代でした。

オリジナルリンク: http://www.udpwork.com/redirect/7463

元のタイトル: MySQL 認証の脆弱性は 5.5.24 にアップグレードすると修正される可能性があります

キーワード: MySQL、アイデンティティ、認証、脆弱性、アップグレード、5.5.24、修正可能、私は今、ウェブマスター、ウェブサイト、ウェブサイトのプロモーション、お金を稼ぐ

<<:  ポジショニング、製品、マーケティングは、Web サイト運営者が無視できない 3 つの要素です。

>>:  リベートの混乱:野蛮な成長の下での致命的な誘惑

推薦する

クラウド移行を正しく行う方法

Amazon は 15 年前に Amazon Web Services (AWS) プラットフォーム...

UEO時代では、ユーザーのニーズに合わせて最適化する必要がある

一連の主要な検索エンジンのアップデートにより、UEO という言葉はインターネット上で徐々に人気が高ま...

注: HostGa の「言葉にできない」公式中国語サイトの説明

最近、一部のネットユーザーから、HostGa「Undescribable」が中国語のウェブサイトを開...

マイクロサービスにおける分散ロックの正しい姿勢をマスターする

[[391029]]序文Java ではロックはよく知られており、よく使用されるのは synchron...

Linuxの仮想ファイルシステムの詳細な説明

ファイルシステムとは何ですか? Linux の初期の貢献者であり著者でもある Robert Love...

SEOの観点からif​​rameフレームワークを使用する利点と欠点を分析する

初めてiframeフレームワークに触れたとき、あまりよくわからず、あまり役に立たないと感じたのを覚え...

ウェブサイトのロングテールキーワードを体系的に選択して最適化する方法

みなさんこんにちは。今日は、ウェブサイトでのロングテールキーワードのプロモーションとレイアウトについ...

dogyun:香港復帰25周年、香港サーバー特別価格、月額450元、2*e5-2630v2/32gメモリ/1T SSD/40M帯域幅

Dogyunは、香港の中国復帰25周年を記念して、香港CLDデータセンター専用サーバーを特別価格でリ...

従来の企業はどのようにして電子商取引に切り替えることができるでしょうか?

著者:陳雲波今年のタオバオのダブルイレブンの驚異的な売上高といえば、電子商取引が巷で話題になっている...

限定版ドイツ VPS: unesty、月額 5 ユーロ、9G メモリ/4 コア (AMD)/75g SSD/1G 帯域幅/無制限トラフィック

unesty は、デフォルトの最小帯域幅 1Gbps、トラフィック無制限、組み込みの DDoS 防御...

Zhiwo.comの蘇海正氏が化粧品のB2C市場で競争するために新たなビジネスを開始:月収1000万元近く

写真はZhiwo.comのCEO、蘇海正氏(写真提供:テンセントテクノロジー)テンセントテクノロジー...

APP プロモーション: ニッチなプロモーション チャネルを掘り下げる (自分に合ったチャネルが必ず見つかります)

アプリプロモーションチャンネルに関する記事はたくさんあります。従来のチャンネル形式、無料と有料のもの...

チャンネルソーシャルネットワーキングに焦点を当て、スーパーファンパスの機能アップグレードの目標はブランドマーケティングです

モバイル端末の発展により、ブランドはソーシャルメディアとソーシャル配信のチャネルを継続的に拡大し、製...

ウェブマスターはYixinのマーケティングに惑わされてはいけない

今日、私は A5 Webmaster Network の編集者である Cancan とチャットをしま...

インターネット マーケティングの 6 つのマーケティング武器

オンラインマーケティングの実施方法、オンラインマーケティングの実施方法、この記事では、一般的に使用さ...