自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CVE-2021-43267:Linux TIPC模塊任意代碼執(zhí)行漏洞

安全 黑客攻防
SentinelLab研究人員發(fā)現(xiàn)Linux Kernel TIPC(Transparent Inter Process Communication,透明進(jìn)程間通信)模塊中的一個(gè)安全漏洞,攻擊者利用該漏洞可以在本地或遠(yuǎn)程區(qū)塊下在kernel內(nèi)執(zhí)行任意代碼,并完全控制有漏洞的機(jī)器。

[[433892]]

SentinelLab研究人員發(fā)現(xiàn)Linux Kernel TIPC(Transparent Inter Process Communication,透明進(jìn)程間通信)模塊中的一個(gè)安全漏洞,攻擊者利用該漏洞可以在本地或遠(yuǎn)程區(qū)塊下在kernel內(nèi)執(zhí)行任意代碼,并完全控制有漏洞的機(jī)器。

Linux TIPC協(xié)議

TIPC協(xié)議是允許集群中節(jié)點(diǎn)在存在大量節(jié)點(diǎn)容錯(cuò)的情況下進(jìn)行通信的協(xié)議。該協(xié)議在Linux kernel模塊中實(shí)現(xiàn),并包含在大多數(shù)Linux發(fā)行版中。當(dāng)用戶加載時(shí),TIPC可以用作socket并可以使用netlink在接口上進(jìn)行配置。TIPC可以配置為在Ethernet或UDP協(xié)議之上運(yùn)行。但是低權(quán)限的用戶是無(wú)法創(chuàng)建Ethernet幀,因此使用UDP更容易實(shí)現(xiàn)本地漏洞利用。

雖然TIPC是在這些協(xié)議之上運(yùn)行的,但有獨(dú)立的地址方案,節(jié)點(diǎn)可以選擇自己的地址。TIPC協(xié)議以對(duì)用戶透明的方式工作。所有的消息構(gòu)造和分析都是在kernel中進(jìn)行的。每個(gè)TIPC消息都有相同的通用header格式和消息特定的header。

對(duì)該漏洞來(lái)說(shuō),通用header最重要的部分是Header Size和message size。TIPC消息header如下所示:

TIPC消息header

這兩個(gè)size大小是由tipc_msg_validate函數(shù)來(lái)進(jìn)行驗(yàn)證的:

TIPC漏洞

2020年9月引入了一個(gè)新的用戶消息類型——MSG_CRYPTO,該消息類型允許節(jié)點(diǎn)發(fā)送加密的秘鑰。該消息結(jié)構(gòu)如下所示:

  1. struct tipc_aead_key { 
  2.          char alg_name[TIPC_AEAD_ALG_NAME]; 
  3.          unsigned int keylen;       /* in bytes */ 
  4.          char key[]; 
  5.  }; 

 其中 TIPC_AEAD_ALG_NAME是32位的宏。消息接收后,TIPC kernel模塊需要復(fù)制該信息到該節(jié)點(diǎn)來(lái)存儲(chǔ):

  1.  /* Allocate memory for the key */ 
  2.   skey = kmalloc(size, GFP_ATOMIC); 
  3. /* ... */ 
  4.   
  5.   /* Copy key from msg data */ 
  6.   skey->keylen = ntohl(*((__be32 *)(data + TIPC_AEAD_ALG_NAME))); 
  7.   memcpy(skey->alg_name, data, TIPC_AEAD_ALG_NAME); 
  8.   memcpy(skey->key, data + TIPC_AEAD_ALG_NAME + sizeof(__be32), 
  9.          skey->keylen); 

用來(lái)分配的size大小與message payload的size大小是相同的。密鑰算法和密鑰本身也都會(huì)被復(fù)制。

從上面的代碼可以看出,Header Size和message size大小都會(huì)與真實(shí)的包大小來(lái)對(duì)比驗(yàn)證有效性。如果這兩個(gè)值都在真實(shí)包大小的范圍內(nèi),MSG_CRYPTO 消息的keylen或密鑰算法本身都不會(huì)再去檢查message大小。也就是說(shuō),攻擊者可以創(chuàng)建一個(gè)size大小比較小的包來(lái)分配堆內(nèi)存,然后用keylen屬性中的任意大小來(lái)在該位置的邊界外進(jìn)行寫(xiě)操作:

可以觸發(fā)該漏洞的MSG_CRYPTO消息示例

漏洞利用

該漏洞可以在本地或遠(yuǎn)程利用。由于對(duì)kernel堆中分配的對(duì)象的控制更多,因此本地利用更加容易一些。如下所示,攻擊者可以創(chuàng)建一個(gè)20字節(jié)的包,并設(shè)置message size為10字節(jié),并繞過(guò)檢查:

CVE-2021-43267: Linux TIPC模塊任意代碼執(zhí)行漏洞

目前補(bǔ)丁也已經(jīng)發(fā)布,完整技術(shù)細(xì)節(jié)參見(jiàn):https://www.sentinelone.com/labs/tipc-remote-linux-kernel-heap-overflow-allows-arbitrary-code-execution/

本文翻譯自:https://thehackernews.com/2021/11/critical-rce-vulnerability-reported-in.html如若轉(zhuǎn)載,請(qǐng)注明原文地址。

 

責(zé)任編輯:姜華 來(lái)源: 嘶吼網(wǎng)
相關(guān)推薦

2021-09-23 15:20:18

微軟漏洞代碼

2017-10-12 06:42:16

Tomcat代碼漏洞

2020-10-19 14:01:34

漏洞Linux代碼

2017-05-25 22:20:05

2021-05-27 05:34:47

漏洞網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2014-10-15 17:29:33

2021-07-29 15:57:11

任意代碼漏洞攻擊

2009-05-31 15:34:37

2021-03-16 10:52:56

Chrome瀏覽器漏洞

2017-05-27 10:22:37

2020-10-23 09:58:57

漏洞

2024-11-11 16:21:38

2021-01-31 10:31:29

Windows10操作系統(tǒng)RCE漏洞

2024-10-08 21:22:17

2021-10-29 11:52:16

谷歌漏洞TPM

2025-02-14 23:13:14

2020-10-19 10:43:49

漏洞

2021-10-06 13:54:12

漏洞PoC攻擊

2013-11-01 14:26:13

2025-03-28 10:31:17

點(diǎn)贊
收藏

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