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 つの要素です。

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

推薦する

日本サーバー: zenlayer、30% オフ、日本の cn2 gia 回線独立サーバー、1Gbps 帯域幅、月額 188 ドルから提供

Zenlayerは日本に自社データセンターを構えており、日本独立サーバーに従来回線を標準で提供するほ...

ウェブサイトのキーワードシステムを構築するプロセス全体の分析

みなさんこんにちは。私はHongtu Internetです。ウェブサイトのテーマの決定と比較すると、...

poweruphosting-10.5USD/KVM/2IP/1GB RAM/20GB SSD/無制限トラフィック/Gポート/ロサンゼルス

poweruphosting についてご紹介します。2006 年にロサンゼルスで設立され、現在は主に...

2018年成豊会議成都駅は中小企業向けスマートマーケティングに焦点を当てる

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています8月8日、...

詳細説明:仮想化とコンテナ化、その違いをご存知ですか?

仮想マシンとコンテナは、抽象化の最も一般的な形式の 2 つですが、この 2 つの違いは何でしょうか?...

このウェブサイトはプログラムなしで開設されましたが、トップ40にランクされています

今日、Baiduで「上海SEO」というキーワードを検索したところ、4ページ目にウェブサイトが見つかり...

A5 Webmaster Networkの第3回サーバーウェブサイトセキュリティトレーニングの申し込み受付中

なぜサーバー ウェブサイト セキュリティ トレーニングに参加する必要があるのでしょうか? 最新の統計...

vexxhost-4T トラフィック/40g SSD/2CPU/1g メモリ/5 USD/openstack クラウド

カナダの老舗ホスティングプロバイダーである Vexxhost は、主にカナダで仮想ホスティングと V...

ウェブサイトのタイトルを正しく書く方法

ユーザーがキーワードを検索するときに最初に比較するのは、Web サイトのタイトルです。ユーザーはタイ...

Hostus - 年間 5 ドル / 128 MB メモリ / 10 GB ハード ドライブ / 200 GB トラフィック / ラスベガス

Hostus のクリスマス プロモーションには、特に目新しいものはなく、同じモデルがいくつかあるだけ...

SEO改革と開放の時代にSEO担当者はどうやって生き残ることができるのでしょうか?

歴史を学んだ友人は、1978年以来、中国が改革開放政策を実施し、中国が徐々に世界に向かって進み、最終...

justhost: サンクトペテルブルク IQ Data の VPS 配線とトラフィックの簡単なレビュー

サンクトペテルブルクはロシアで 2 番目に大きな都市です。Justhost はサンクトペテルブルクの...

フレンドリーリンクを作成する際に注意すべき点を詳細に分析

ウェブサイトの最適化は、オンサイト最適化とオフサイト最適化に分けられます。オフサイト最適化は、外部リ...

書道ウェブサイト: 熟達せずに何百もの反応を引き出すことはできるのでしょうか?

ビジネスを始めるにしても、ウェブサイトを構築するにしても、私たちの先人たちが与えてくれたアドバイスは...

ローカルフォーラムのオンラインプロモーションに関する経験の共有

Chenchen はこれまでいくつかのフォーラムを管理してきましたが、最近、私たちの郡のフォーラムと...