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

CVE-2020-14386: Linux kernel權限提升漏洞

安全 漏洞
Unit 42研究人員在Linux kernel源代碼中發現了一個內存破壞漏洞,漏洞CVE編號為CVE-2020-14386。攻擊者利用該漏洞可以從特權用戶提權到Linux 系統的root用戶。

Unit 42研究人員在Linux kernel源代碼中發現了一個內存破壞漏洞,漏洞CVE編號為CVE-2020-14386。攻擊者利用該漏洞可以從特權用戶提權到Linux 系統的root用戶。

[[345624]]

技術細節

該漏洞來源于net/packet/af_packet.c 文件的tpacket_rcv 函數中,是由于算術問題引發的內存破壞。該漏洞是2008年7月引入的(commit 8913336),從2016年2月開始觸發內存破壞(commit 58d19b19cd99),很多開發者都嘗試修復該漏洞,但提出的補丁都不足以預防內存破壞。

為觸發該漏洞需要創建一個含有TPACKET_V2 ring緩存和 PACKET_RESERVE為特定值的原始包(AF_PACKET domain, SOCK_RAW type )。

CVE-2020-14386: Linux kernel權限提升漏洞

headroom 是用戶指定大小的緩存,會在ring 緩存接收每個包的真實數據之前分配。該值可以通過setsockopt 系統調用在用戶空間來設置:

CVE-2020-14386: Linux kernel權限提升漏洞

圖 1. Setsockopt設置 – PACKET_RESERVE

如圖 1所示,會檢查該值是否小于INT_MAX。該值是在補丁(https://lore.kernel.org/patchwork/patch/784412/)中新加的以防packet_set_ring 中最小幀大小計算溢出。然后回驗證頁面是否是為接收或者傳輸的ring緩存分配的。這么做的目的是預防tp_reserve 域和ring buffer之間的不連續。

在設置了tp_reserve 值后,就可以通過含有PACKET_RX_RING的setsockopt系統調用來觸發ring緩存的分配:

CVE-2020-14386: Linux kernel權限提升漏洞

圖 2. From manual packet – PACKET_RX_RING option.

這是在packet_set_ring函數中實現的。在ring緩存分配之前,會有許多對從用戶空間接收的 tpacket_req結構的檢查:

CVE-2020-14386: Linux kernel權限提升漏洞

圖 3. packet_set_ring 函數中的安全檢查

從圖 3中可以看出,首先會計算最小的幀大小,然后與從用戶空間接收到的值進行對比驗證。檢查確保了在 tpacket 頭結構的每個幀和tp_reserve 字節數之間的有空間。

在做完所有檢查之后,ring緩存本身就會通過 alloc_pg_vec調用來分配:

CVE-2020-14386: Linux kernel權限提升漏洞

圖 4. packet_set_ring 函數中調用ring緩存分配函數

如上圖所示,block size(區塊大小)是由用戶空間控制的。alloc_pg_vec函數會分配 pg_vec數組,然后通過alloc_one_pg_vec_page 函數分配給每一個區塊鏈:

CVE-2020-14386: Linux kernel權限提升漏洞

圖 5. alloc_pg_vec實現

alloc_one_pg_vec_page 函數會用 __get_free_pages 來分配區塊頁:

CVE-2020-14386: Linux kernel權限提升漏洞

圖 6. alloc_one_pg_vec_page 實現

區塊分配后,pg_vec 數組就會保存在嵌入在 packet_sock結構中的packet_ring_buffer結構。

當接口接收到包后,與tpacket_rcv函數綁定的socket、包數據、TPACKET 元數據都會寫入到ring緩存中。

漏洞

圖7是 tpacket_rcv 函數的實現。首先,會調用skb_network_offset 來提取接收到的包的網絡頭的偏移值到maclen中。在本例中,大小為14字節,即以太網header的大小。之后,會根據TPACKET header、 maclen 和tp_reserve值來計算netoff。

但是計算的過程可能會溢出,因為 tp_reserve的類型是 unsigned int ,netoff的類型是unsigned short,而對tp_reserve 值的唯一限制是小于INT_MAX。 

CVE-2020-14386: Linux kernel權限提升漏洞

圖 7. tpacket_rcv中的算術計算

如圖 7所示,如果包中設置了PACKET_vnet_HDR ,就會加入sizeof(struct virtio_net_hdr) 。最后,以太網header的偏移量會計算會保存到macoff中。

如圖 8所示, virtio_net_hdr結構會用 virtio_net_hdr_from_skb函數下入ring緩存中。 h.raw 指向ring 緩存中當前空閑的幀。

CVE-2020-14386: Linux kernel權限提升漏洞

圖 8. 調用tpacket_rcv中的 virtio_net_hdr_from_skb函數

研究人員設想有可能利用該溢出將netoff變成一個更小的值,所以macoff 可以接收一個大于block size的值,并嘗試寫入緩存中。

但是存在以下檢查,所以無法實現:

CVE-2020-14386: Linux kernel權限提升漏洞

圖 9. tpacket_rcv 函數中的另一個檢查

但是該檢查并不足以預防內存破壞,因為仍然可以通過溢出netoff 將macoff變成一個小一點的值。比如,將macoff變成小于10字節的 sizeof(struct virtio_net_hdr),然后用 virtio_net_hdr_from_skb 寫入緩存的邊界。

原語

通過控制macoff的值,就可以在控制的偏移量中初始化 virtio_net_hdr 結構。 virtio_net_hdr_from_skb 函數會首先將整個struct 零化,然后根據skb結構初始化結構內的所有域。

CVE-2020-14386: Linux kernel權限提升漏洞

圖 10. virtio_net_hdr_from_skb 函數的實現

但可以設置skb 只讓零寫入結構中。因此,就可以在__get_free_pages 分配中零化1-10個字節。無需任何堆操作技巧就可以立刻引發kernel 奔潰。

POC

觸發該漏洞的PoC代碼參見:https://www.openwall.com/lists/oss-security/2020/09/03/3

漏洞利用

漏洞利用過程參見:https://unit42.paloaltonetworks.com/cve-2020-14386/

補丁

研究人員提出的補丁參見:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=acf69c946233259ab4d64f8869d4037a198c7f06

CVE-2020-14386: Linux kernel權限提升漏洞

圖 11. 研究人員提出的補丁

補丁的思想是如果將netoff 的類型從unsigned short 修改為unsigned int,就可以檢查是否會超過USHRT_MAX,如果超過的化就丟棄該包,以防進一步利用。

總結

研究人員其實也很奇怪Linux kernel中至今還會存在如此簡單的算術安全問題,而且之前沒有被發現過。同時,非特權的用戶空間也暴露出了本地權限提升的巨大攻擊面。

 

責任編輯:趙寧寧 來源: 嘶吼網
相關推薦

2020-09-25 17:33:03

漏洞

2022-02-10 11:52:10

Windows漏洞Windows 10

2021-02-09 10:31:04

漏洞webWordPress F

2020-10-18 10:11:01

漏洞

2020-12-17 10:28:27

漏洞網絡攻擊網絡安全

2021-02-07 14:39:22

Falco漏洞安全工具

2020-07-15 10:35:25

漏洞攻擊網絡安全

2025-11-04 09:48:42

2020-12-11 11:18:43

MiTMKubernetes漏洞

2020-12-28 10:23:00

中間人攻擊漏洞Kubernetes

2025-04-09 08:10:00

漏洞零日漏洞移動安全

2025-05-13 08:28:00

漏洞終端安全系統安全

2021-06-04 12:11:29

Huawei無線上網卡漏洞

2014-04-30 15:36:05

2020-10-25 09:39:49

漏洞分析

2020-10-09 08:00:00

漏洞

2021-03-18 11:20:44

Linux kerne漏洞系統

2020-10-22 11:24:53

修復漏洞

2020-10-23 11:13:39

漏洞網絡安全網絡攻擊

2011-04-19 09:47:14

點贊
收藏

51CTO技術棧公眾號

国产精品美女久久久久久 | 成人午夜视频福利| 国产精品久久久久久久av电影| av在线女优影院| 国产欧美一区二区精品忘忧草| 亚洲午夜精品一区二区| 亚洲欧美亚洲| 成人做爰www免费看视频网站| 91亚洲无吗| 日韩一区二区三区xxxx| 成人黄色动漫| 日韩免费观看高清完整版在线观看| 中文字幕www| 国产婷婷一区二区| 日本日本19xxxⅹhd乱影响| 国产精品一区二区三区99| 亚洲春色在线视频| 国产亚洲在线观看| 日本成人三级| 国产欧美二区| 一道精品一区二区三区| 日本伊人精品一区二区三区观看方式| 91九色视频在线观看| 欧美日本不卡| 国产女人水真多18毛片18精品| 韩日精品视频| 亚洲精品国产系列| 99精品欧美一区| 二区三区中文字幕| 日本精品视频一区二区三区| 日本成人在线播放| 亚洲成人免费网站| 成人精品视频在线观看| 日本久久久久久久久久久| 欧美黄污视频| a级黄色片免费| 亚洲欧美日韩人成在线播放| av免费观看一区二区| 亚洲毛片在线观看.| 日韩一区二区三区色| 国产精品12| 国产精品亚洲一区二区三区在线 | 九色免费视频| 亚洲第一福利网站| 日韩av三区| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 成人欧美一区二区三区黑人麻豆| 日韩视频在线观看国产| 午夜日韩成人影院| 91精品国产91久久久久久最新 | 99久久99久久精品国产片桃花 | 伊人久久高清| 91亚色免费| 欧洲一区二区三区在线| 欧美一区不卡| 在线黄色av| 国产丝袜一区二区| 国内精品久久久久久久影视简单 | 亚洲成人黄色网址| 精品国精品国产自在久国产应用| 日韩人妻精品一区二区三区| 天天色 色综合| 欧美成人一级| 17c丨国产丨精品视频| 色综合久久久久久久久久久| 欧美调教网站| 久久无码高潮喷水| 亚洲国产精品女人久久久| 成人a'v在线播放| 成人免费淫片95视频观看网站| 国产一区二区精品丝袜| 奇米色一区二区| 精产国品自在线www| 国产一区二区三区无遮挡 | 91成人在线视频观看| 欧亚一区二区三区| 欧美日韩国产一区精品一区| 国产日产精品_国产精品毛片| 日韩理伦片在线| 亚洲综合国产精品| 久久免费视频色| 亚洲我射av| 久久综合九色综合88i| 精品视频免费看| 视频一区二区三区中文字幕| 北条麻妃在线视频观看| 欧美日韩美少妇| 红桃成人av在线播放| 国产福利在线免费| 欧美人与性动交a欧美精品| 国产精品一区二区黑丝| 999精品色在线播放| 日韩一二三四| 日日摸日日碰夜夜爽无码| 日韩成人激情视频| 在线观看日韩毛片| 国产精品五区| 欧美高清激情视频| 人禽交欧美网站| 中文字幕一区免费| 麻豆国产va免费精品高清在线| 视频一区视频二区中文| 蜜桃视频在线观看网站| 91干在线观看| 99久久免费国产| av在线私库| 国产日韩三区| 精品欧美aⅴ在线网站| 免费成人蒂法| 亚洲国产精品毛片av不卡在线| 国产视频久久久久久久| 久久久久综合| 男女视频在线观看免费| 国产精品久久91| 国产精品成人免费| 玖玖玖视频精品| 日韩 欧美 视频| 亚洲国产精品va| 久久av最新网址| 国产原创在线观看| 99久久精品久久久久久ai换脸| 一区二区在线看| 欧美日韩一区二区三区不卡视频| 日本久久久精品视频| 亚洲一级黄色片| 丁香五精品蜜臀久久久久99网站 | av老司机免费在线| 国产精品区一区| 欧美影视一区在线| 欧美日韩一区二区国产| 秋霞av在线| 国产精品免费观看高清| 欧美日韩精品一区视频| 免费在线观看成人av| h片视频在线观看| 中文字幕欧美人与畜| 精品亚洲一区二区三区四区五区| 蜜桃精品视频在线| 日韩在线免费| 成人黄色片视频| 欧美激情一级二级| 一二三区精品视频| 综合视频在线| 黄黄的网站在线观看| 亚洲欧美在线网| 亚洲国产精品成人va在线观看| 国产精品123区| 日本精品在线播放| 91精品久久久久久9s密挑| 亚洲a成v人在线观看| 欧美日韩一区二区在线观看视频| 国产欧美日韩综合一区在线播放 | 日本大香伊一区二区三区| 一本一本久久a久久综合精品| 精品av中文字幕在线毛片| 成人自拍爱视频| 欧美大胆人体bbbb| 成熟亚洲日本毛茸茸凸凹| 国产96在线亚洲| 午夜亚洲成人| 日韩aⅴ视频一区二区三区| 国产一区二区三区18| 中文字幕乱码亚洲精品一区| 婷婷综合五月| 四虎影视成人| 欧美女人性生活视频| 国产精品久久色| 日韩欧美在线一区二区三区| 国产精品一区二区三区网站| 日韩区一区二| 最近最新mv在线观看免费高清| 欧美精品一区二区视频| 日韩最新中文字幕电影免费看| 中文字幕第一页久久| 亚洲午夜黄色| 天堂久久午夜av| 美乳在线观看| 欧美日韩综合精品| 九九热这里只有精品免费看| 日韩欧美精品在线观看| 国产精品综合二区| 精品国产一区二区三区av片| 国语对白在线刺激| 国产福利a级| 亚洲日本无吗高清不卡| 欧美一级大片在线观看| 日韩午夜在线观看| 综合av第一页| 久久99精品国产91久久来源| 小嫩嫩12欧美| 黑人巨大精品| 欧美69xxxxx| 欧美在线观看视频网站| 精品一区二区日本| 高清一区二区三区日本久| 精品裸体舞一区二区三区| 亚洲国产精品久久不卡毛片| 成人爱爱电影网址| 亚洲精品九九| 国产精品一区二区三区av麻 |