国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Homebrew存在大漏洞,惡意代碼遠程操縱電腦

新聞 漏洞
在Homebrew/homebrew-cask倉庫中,通過混淆Homebrew項目中自動拉取請求審閱腳本中使用的庫,可以合并惡意的拉取請求。

 

本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

Mac包管理工具Homebrew出現(xiàn)了一個大漏洞:

在Homebrew/homebrew-cask倉庫中,通過混淆Homebrew項目中自動拉取請求審閱腳本中使用的庫,可以合并惡意的拉取請求

如果被濫用,攻擊者可以在使用brew的計算機上執(zhí)行任意Ruby代碼!

[[405521]]

該漏洞的威脅登記在國內(nèi)被360CERT評為10分嚴重。

漏洞的發(fā)現(xiàn)者是一位來自日本的后端程序員。

Homebrew存在大漏洞,惡意代碼遠程操縱電腦

當天下午,他“閑來無事”逛起了HackerOne(漏洞賞金平臺)。順便看看經(jīng)常使用的Homebrew有沒有什么漏洞。

diff檢查邏輯存在缺陷

由于Homebrew項目使用GitHub Actions運行CI腳本,小哥查看了.git-hub/workflows/下每個倉庫的目錄。

其中兩個目錄:一個負責檢查用戶提交的拉取請求的內(nèi)容,進行批準,另一個目錄負責自動合并這些被批準的代碼。

拉取請求的內(nèi)容被fetch后會被改為diff文件,并使用git_diff對其進行解析。

小哥一開始檢查了可以通過批準請求的幾個條件,沒有發(fā)現(xiàn)問題。

但是直覺作怪,他還是掉過頭去二次研究了git_diff倉庫。

當看到其中報告了一個“更改行數(shù)引發(fā)解析錯誤”的問題時,小哥“靈機一動”:

我是不是能以某種方式對拉取請求進行偽裝來滿足批準條件,騙過git_diff?

于是他分析了git_diff解析diff文件的步驟,乍一看沒毛病,但是細看其中一步發(fā)現(xiàn)了“貓膩”:可以多次更改源/目標文件路徑信息。

于是通過下面這兩行代碼:

  1. ++ "b/#{私藏代碼寫這兒}" 
  2. ++ b/Casks/cask.rb 

第一行將私藏代碼以上面的格式嵌入拉取請求,就可以被視為文件路徑信息,而非代碼變動。

第二行為更改文件路徑的必需條件。

這樣就可以繞過必需條件,將含有惡意代碼的拉取請求視為零行更改的

“無害”請求,最終騙過diff,獲得批準,完成自動合并!開始搞事情!

[[405522]]

添加“打印日志”操作來驗證此漏洞

“今天的收獲可不菲”,小哥立即行動,提交了一個PR,通過Homebrew搞起了破壞,在HackerOne上對此漏洞進行PoC演示。

以下是具體代碼:

(選取在GitHub上無意發(fā)布了一個API令牌的拉取請求iterm2.rb 進行更改 )

  1. ++ "b/#{puts 'Going to report it - RyotaK (https://hackeorne.com/ryotak)';b = 1;Casks = 1;iterm2 = {};iterm2.define_singleton_method(:rb) do 1 end}" 
  2. ++ b/Casks/iterm2.rb 

在第一行定義b,Casks,iterm2,iterm2.rb四個變量,才不會在第二行引發(fā)未定義錯誤,這樣就可以作為有效的Ruby腳本執(zhí)行。

通過添加這兩行更改,GitHub返回以下差異:

  • diff --git a/Casks/iterm2.rb b/Casks/iterm2.rb 
  • index 3c376126bb1cf9..ba6f4299c1824e 100644 
  • --- a/Casks/iterm2.rb 
  • +++ b/Casks/iterm2.rb 
  • @@ -8,6 +8,8 @@ 
  •      sha256 "e7403dcc5b08956a1483b5defea3b75fb81c3de4345da6000e3ad4a6188b47df" 
  •    end 
  • +++ "b/#{puts 'Going to report it - RyotaK (https://hackeorne.com/ryotak)';b = 1;Casks = 1;iterm2 = {};iterm2.define_singleton_method(:rb) do 1 end}" 
  • +++ b/Casks/iterm2.rb 
  •    url "https://iterm2.com/downloads/stable/iTerm2-#{version.dots_to_underscores}.zip" 
  •    name "iTerm2" 
  •    desc "Terminal emulator as alternative to Apple's Terminal app 

如前面所述,git_diff將匹配的行 +++ “?b/(.*) 視為文件路徑信息,而非添加的行,因此,此差異將被視為進行0行更改的請求

由于既不能修改未經(jīng)授權(quán)使用的cask,也沒有在homebrew-cask倉庫中找到一個測試cask,小哥給Homebrew發(fā)郵件求助,按照工作人員的意思添加“打印日志”這一無害修改來驗證了這個漏洞。

當其他用戶執(zhí)行brew search/brew cleanup等命令時即使沒有安裝目標cask,也將執(zhí)行惡意代碼。

官方在3小時之內(nèi)完成了主要修復,并發(fā)布了通報。

Homebrew存在大漏洞,惡意代碼遠程操縱電腦

“這不是單方面的責任”

針對這次大漏洞,網(wǎng)友們議論紛紛,有人表示:

如果不是使用ruby解析git_diff,而是使用libgit,這個漏洞就不會發(fā)生。

如果Apple提供了一個功能更強大的軟件包管理器,這不會發(fā)生。

如果數(shù)以百萬計的Homebrew用戶給了他們建造如此龐大的項目所需資金的一小部分,這也不會發(fā)生。

此漏洞沒有單一負責方。

Homebrew存在大漏洞,惡意代碼遠程操縱電腦

另外,細心的朋友可能還記得,我們此前曾報道了一篇關于黑客用GitHub服務器挖礦的新聞,里面的黑客也是只需提交Pull Request,即使項目管理者沒有批準,惡意挖礦代碼依然能夠執(zhí)行。

和這次這個漏洞一樣,都是抓住了GitHub Actions的自動執(zhí)行工作流功能來“鉆空”。

針對濫用Actions的問題,GitHub近日也更新了幫助保護維護者的新功能,比如在任何Actions工作流運行之前,來自首次貢獻者的Pull Request將需要**具有寫訪問權(quán)限的倉庫協(xié)作者的手動批準**。

 

責任編輯:張燕妮 來源: 量子位
相關推薦

2023-02-14 07:19:31

2013-11-08 10:42:09

代碼工具

2011-08-09 11:45:45

2013-11-05 15:06:29

scdbg惡意代碼分析安全工具

2014-10-23 09:40:57

2014-02-11 09:15:33

2021-05-10 09:52:37

漏洞惡意代碼網(wǎng)絡攻擊

2013-07-18 10:06:54

2016-11-24 11:07:54

Andriod惡意代碼

2014-10-29 14:43:05

2014-12-12 14:55:42

移動惡意代碼移動安全

2014-10-23 18:26:02

破殼漏洞Shellshock遠程代碼執(zhí)行漏洞

2014-09-12 17:47:36

2011-08-09 11:51:37

2018-08-10 04:40:56

2017-05-04 09:30:29

2017-03-27 15:46:14

2021-03-01 11:33:03

微軟惡意代碼惡意軟件

2021-11-17 10:40:33

網(wǎng)絡安全惡意代碼網(wǎng)絡攻擊

2013-07-27 21:04:58

點贊
收藏

51CTO技術(shù)棧公眾號

久久久久久久久久福利| 凹凸成人在线| 97se亚洲国产综合自在线观| 国产精品成人aaaaa网站| 中文一区一区三区高中清不卡免费| 欧美高清在线精品一区| 亚洲国产日韩欧美| 国产精品7m凸凹视频分类| 精品国产一区二区三区在线观看| 亚洲乱亚洲乱妇| 亚洲六月丁香色婷婷综合久久| 亚洲精品无人区| 欧美黄色免费| 国产成一区二区| 久久精品一级| 亚洲欧美日韩图片| 午夜成年人在线免费视频| 午夜欧美在线一二页| 成熟老妇女视频| 国内精品写真在线观看| 精品欧美国产| 忘忧草精品久久久久久久高清| 久久久久久999| jizzjizz少妇亚洲水多| 精品国产91九色蝌蚪| 国产高清美女一级毛片久久| 亚洲激情av在线| 密臀av一区二区三区| 国产精品资源在线| 日韩精品无码一区二区三区| 今天的高清视频免费播放成人| 国产精品久久久久999| 免费福利视频一区| 久久久久一本一区二区青青蜜月| 午夜欧美巨大性欧美巨大 | 1024免费在线视频| 欧美性猛交xxxx免费看| 黄网站app在线观看下载视频大全官网| 久久久国际精品| 国产精品亚洲a| 成人av第一页| 动漫av网站免费观看| 91欧美激情一区二区三区成人| 日韩日韩日韩日韩日韩| av一区二区久久| 欧美a v在线播放| 成人动漫视频在线| 日韩免费一级视频| 欧美国产日产图区| jizz欧美大全| 亚洲一区二区三区美女| 小香蕉视频在线| 色哟哟亚洲精品| 在线观看精品一区二区三区| 日韩精品综合一本久道在线视频| 超碰在线公开| 最新日韩中文字幕| 青草伊人久久| 91高清免费视频| 久久美女精品| 国产伦精品一区二区三区四区免费| 亚洲天堂激情| 日韩资源av在线| 国产大片一区二区| 99re热在线观看| 免费免费啪视频在线观看| 中文字幕一区在线观看视频| 中文字幕2018| 欧美日韩一级片在线观看| 国内在线免费视频| 不用播放器成人网| 精品理论电影| 精品综合久久| 东方aⅴ免费观看久久av| 99热.com| 欧美日韩国产在线播放| 精品美女在线观看视频在线观看 | 动漫视频在线一区| 国产精品免费久久久| 99视频在线精品国自产拍免费观看| 免费看污久久久| 成人涩涩免费视频| 精品女厕厕露p撒尿| 日韩免费性生活视频播放| 国产一区二区精品调教| 日本久久久久久久久久久| 国产精品日韩精品欧美精品| 黄色一级片国产| 亚洲一区二区五区| 福利在线导航136| 午夜精品www| 久久激情久久| 日本成人黄色网| 欧美男男青年gay1069videost| 激情中国色综合| 91嫩草视频在线观看| 国产成人久久精品77777最新版本| 浪潮av在线| 亚洲精品国产精品国产自| 国产精品天天看天天狠| 国产亚洲精品久久| 欧美日韩性视频| 性欧美1819| 91精品国产色综合久久久蜜香臀| 亚洲在线资源| 国产精品国色综合久久| 99久久99久久精品免费观看| 国产大片在线免费观看| 久久国产精品久久久| aⅴ色国产欧美| 国产精品一区二区小说| 精品国一区二区三区| 欧美日韩中字| 久久久久久免费看| 7777精品伊人久久久大香线蕉| 日韩在线成人| 亚洲成人蜜桃| 亚洲第一av色| 欧一区二区三区| 亚洲欧洲精品在线观看| 国产视频一区二区三区四区| 国产三区在线成人av| 川上优av中文字幕一区二区| 成人精品一区二区三区电影黑人| 久久综合九色综合欧美98| 国产黄色大片在线观看| 91成人免费视频| 亚洲美女淫视频| 国产成人精品一区二三区在线观看| 国产伦精品一区二区三区免费视频| 亚洲视频一二区| 婷婷精品久久久久久久久久不卡| 免费看成人午夜电影| 欧美色另类天堂2015| 视频福利一区| 男操女免费网站| 精品国产欧美一区二区五十路| 免费在线观看精品| 国产丝袜在线| 国产一级二级三级精品| 色伊人久久综合中文字幕| 欧美日韩在线播放视频| av网站免费在线| 久久久免费精品| 久久久蜜臀国产一区二区| 日本黄色一区| 欧美 亚洲 视频| 国产丝袜精品第一页| 日本v片在线高清不卡在线观看| 在线视频1区2区| 国产一区福利视频| 欧美日韩在线电影| 亚洲欧洲另类| 秋霞a级毛片在线看| 国产经典一区二区三区| 色综合久久久久综合| 伊人色**天天综合婷婷| 国产精品精华液网站| 国产精品揄拍500视频| 婷婷成人激情在线网| 91精品国产成人观看| 玖玖综合伊人| 精品国产乱码久久久久软件| 91精品综合久久久久久| 亚洲在线网站| 国产h片在线观看| 亚洲一区 在线播放| www国产91| 国产精品不卡一区二区三区| 成人在色线视频在线观看免费大全 | 婷婷综合网站| 色网在线视频| 91视频免费进入| 欧美年轻男男videosbes| 男人的天堂亚洲在线| 国产社区精品视频| 成人在线播放网址| 欧美日韩第一视频| 一区二区三区四区视频精品免费| 秋霞欧美视频| 蜜桃视频在线观看www社区| 亚洲一卡二卡三卡四卡无卡网站在线看| 亚洲美女在线观看| 中文字幕av免费专区久久| 精品久久久久久久| 国产精品免费播放| 大桥未久一区二区三区| 久久久久久伊人| 色视频欧美一区二区三区| 蜜桃视频在线观看一区| 国产剧情一区二区在线观看| 日本1区2区| 视频一区二区综合| 久久中文久久字幕| 疯狂做受xxxx高潮欧美日本| 米奇777在线欧美播放| 99综合久久| 飘雪影视在线观看免费观看 | 亚洲午夜一区二区| 蜜桃伊人久久|