パスワードを忘れた? アカウント作成
3971141 submission
セキュリティ

MySQL/MariaDBに1/256の確率で間違ったパスワードが通ってしまう深刻な脆弱性 1

タレコミ by Anonymous Coward
あるAnonymous Coward 曰く、
特定のバージョンのMySQL及びMariaDBにおいて、パスワード認証の際に1/256の確率でパスワードが間違っていたとしても認証に通過してしまうバグが発生された。
seclists http://seclists.org/oss-sec/2012/q2/493

このバグを使用すると、任意のユーザー(つまり、rootも可)でのログインが可能であり、少なくとも数秒の間に300回以上のアクセスを試みることができるので、事実上パスワード認証が意味を成さなくなってしまうとのこと。
しかし、これらの影響を受けるビルドは少なく、多くの公式ベンダが提供するビルドでは問題はないとのことです。

情報元へのリンク
この議論は、 ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
  • 今回の件がなぜ発生するか、ネットでの書き込みをいくつかまとめてみました:

    > ユーザーがMariaDB/MySQLに接続する場合、トークン(パスワードとランダムスクランブル文字列上のSHA)を計算し
    > 期待値と比較。memcmp()は通常、比較対象をcharと見做して比較し、差異があった先頭バイトの差を返すので
    > -127~127の範囲の値が返る。ところが、GCCの持っているSSE最適化されたmemcmp()は、このレンジ外の値を返すため、
    > 今回の脆弱性にヒットする。プロトコル上ランダムな文字列を使用しているが、このバグでログインできちゃう確率は
    > 約1/256と高い。
    >
    > ただし、GCCは通常SSE最適化されたmemcmp()を使用しないので、多くのMySQLバイナリはこの脆弱性の影響を受けない。
    > たとえば、gccでコンパイルしている場合で通常のSSE最適化されたmemcmp()、BSD libcのmemcmp()を使用時は問題が
    > 起きない。Linux/glibcのSSE最適化されたgccは上記の懸念があるが先に記したように先行して問題が回避されて
    > いるはず。
    > 本事案はどちらかというと公式ベンダーMySQLとMariaDBバイナリは脆弱ではありません。
    > それよりもMariaDB/MySQLの特定ビルドの脆弱性、導入方法と場所等のほうが危険性が増します。

    参考文献
    > https://twitter.com/kossetsu_inryo/status/212457163107475456 [twitter.com]
    > https://twitter.com/kossetsu_inryo/status/212457333761126402 [twitter.com]
    > http://news.ycombinator.com/item?id=4093996 [ycombinator.com]

    --
    ( ´・ω・`)いままでとこれからを比べる生活
    ぱんかれ
typodupeerror

人生unstable -- あるハッカー

読み込み中...