成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL身份認證漏洞 升級到5.5.24可修正

系統 Linux
MySQL爆出了一個很大的安全漏洞,幾乎影響5.1至5.5的所有版本。出問題的模塊是登錄時密碼校驗的部分(password.c),在知道用戶名的情況下(如root),直接反復重試(平均大約256次)即可登入。MySQL發布5.5.24的時候,修正了這個BUG。

我今天早上打開電腦,在seclists中看到一個很驚人的thread:http://seclists.org/oss-sec/2012/q2/493MySQL爆出了一個很大的安全漏洞,幾乎影響5.1至5.5的所有版本。出問題的模塊是登錄時密碼校驗的部分(password.c),在知道用戶名的情況下(如root),直接反復重試(平均大約256次)即可登入。不過,MySQL身份認證的時候是采用3元組,username,ip,password。如果client的IP在mysql.user表中找不到對應的,也無法登陸。

這個BUG實際上早在4月份就被發現了,今年5月7號,MySQL發布5.5.24的時候,修正了這個BUG。

漏洞分析:

出問題的代碼如下

/*
    Check that scrambled message corresponds to the password; the function
    is used by server to check that recieved reply is authentic.
    This function does not check lengths of given strings: message must be
    null-terminated, reply and hash_stage2 must be at least SHA1_HASH_SIZE
    long (if not, something fishy is going on).
  SYNOPSIS
    check_scramble()
    scramble     clients' reply, presumably produced by scramble()
    message      original random string, previously sent to client
                 (presumably second argument of scramble()), must be
                 exactly SCRAMBLE_LENGTH long and NULL-terminated.
    hash_stage2  hex2octet-decoded database entry
    All params are IN.

  RETURN VALUE
    0  password is correct
    !0  password is invalid
*/

my_bool
check_scramble(const uchar *scramble_arg, const char *message,
               const uint8 *hash_stage2)
{
  SHA1_CONTEXT sha1_context;
  uint8 buf[SHA1_HASH_SIZE];
  uint8 hash_stage2_reassured[SHA1_HASH_SIZE];

  mysql_sha1_reset(&sha1_context);
  /* create key to encrypt scramble */
  mysql_sha1_input(&sha1_context, (const uint8 *) message, SCRAMBLE_LENGTH);
  mysql_sha1_input(&sha1_context, hash_stage2, SHA1_HASH_SIZE);
  mysql_sha1_result(&sha1_context, buf);
  /* encrypt scramble */
    my_crypt((char *) buf, buf, scramble_arg, SCRAMBLE_LENGTH);
  /* now buf supposedly contains hash_stage1: so we can get hash_stage2 */
  mysql_sha1_reset(&sha1_context);
  mysql_sha1_input(&sha1_context, buf, SHA1_HASH_SIZE);
  mysql_sha1_result(&sha1_context, hash_stage2_reassured);
  return memcmp(hash_stage2, hash_stage2_reassured, SHA1_HASH_SIZE);
}

memcmp的返回值實際上是int,而my_bool實際上是char。那么在把int轉換成char的時候,就有可能發生截斷。比如,memcmp返回0×200,截斷后變成了0,調用check_scramble函數的就誤以為“password is correct“。

但是一般來說,memcmp的返回值都在[127,-128]之內。glibc的經SSE優化后的代碼,不是如此。所以這個BUG只在特定的編譯環境下才會觸發:即編譯MySQL的時候加了-fno-builtin,并且所使用的glibc是經SSE優化后的(一般系統自帶的都是如此)。這里所說的glibc是指Linux的glibc,FreeBSD的libc不受影響。

總的來說這個BUG還是比較嚴重的,上次MySQL出現這樣的BUG還是在3.23/4.0時代。

原文鏈接: http://www.udpwork.com/redirect/7463

 

責任編輯:yangsai 來源: udpwork
相關推薦

2012-03-13 16:38:55

GalaxyAndroid 4.0

2013-09-18 09:56:47

WindowsWindows 8.1

2011-02-18 09:06:15

ChromeChrome DevLinux

2020-01-13 10:00:32

升級Windows 10Windows

2011-09-27 09:13:16

Ubuntu 11.0

2010-05-24 17:33:43

MySQL數據庫

2009-08-02 08:54:46

Windows 7 R系統升級

2023-08-04 19:41:53

UbuntuLinux

2012-10-11 09:43:34

2021-10-20 12:47:06

UbuntuUbuntu 21.1Linux

2022-08-28 20:34:42

LinuxLinux Mint

2022-09-12 21:10:42

LinkerdKubernetes

2013-12-26 14:54:58

Windows 8.1微軟

2023-06-13 10:44:51

Debian 11Debian 12

2015-07-29 10:21:03

微軟Windows 10升級

2017-09-06 17:30:41

網站升級HTTPS

2013-11-27 09:38:11

OpenSUSE 13OpenSUSE 12

2023-01-31 11:33:36

2013-05-20 10:39:55

MariaDB

2011-03-31 13:39:14

mysql3mysql5亂碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费黄色录像视频 | 伊人伊成久久人综合网站 | 亚洲欧美在线视频 | 91在线视频免费观看 | 欧美激情亚洲激情 | 日韩a在线| 国产精品视频播放 | 妞干网视频 | 中文字幕国产精品 | 香蕉久久av| 久久综合影院 | 九九热re | 国产精品国色综合久久 | 色综合成人网 | 日本人做爰大片免费观看一老师 | 嫩草影院网址 | 久久精品无码一区二区三区 | 夜夜精品视频 | 天天曰夜夜操 | 久久久91| 欧美日韩成人一区二区 | 欧美精品一区二区三区视频 | 久久久久久久久久久爱 | 伊人伊成久久人综合网站 | 久久99这里只有精品 | 久草资源在线 | 国产乱码久久久久久一区二区 | 欧美精品在线观看 | 欧美在线观看一区 | 羞羞的视频免费在线观看 | 成人在线免费观看 | 国产一区二区三区四区 | 伊人网站视频 | 国产精品日韩欧美一区二区三区 | 亚洲欧美一区二区三区情侣bbw | 一区不卡在线观看 | 久久久成 | 欧美日韩在线免费观看 | 国产精品一区一区 | 欧美日韩高清在线一区 | 久久精品国产免费一区二区三区 |