《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > Linux TIPC模塊任意代碼執行漏洞

Linux TIPC模塊任意代碼執行漏洞

2021-11-08
來源:嘶吼專業版
關鍵詞: 代碼 漏洞

  SentinelLab研究人員發現Linux Kernel TIPC(Transparent Inter Process Communication,透明進程間通信)模塊中的一個安全漏洞,攻擊者利用該漏洞可以在本地或遠程區塊下在kernel內執行任意代碼,并完全控制有漏洞的機器。

  Linux TIPC協議

  TIPC協議是允許集群中節點在存在大量節點容錯的情況下進行通信的協議。該協議在Linux kernel模塊中實現,并包含在大多數Linux發行版中。當用戶加載時,TIPC可以用作socket并可以使用netlink在接口上進行配置。TIPC可以配置為在Ethernet或UDP協議之上運行。但是低權限的用戶是無法創建Ethernet幀,因此使用UDP更容易實現本地漏洞利用。

  雖然TIPC是在這些協議之上運行的,但有獨立的地址方案,節點可以選擇自己的地址。TIPC協議以對用戶透明的方式工作。所有的消息構造和分析都是在kernel中進行的。每個TIPC消息都有相同的通用header格式和消息特定的header。

  對該漏洞來說,通用header最重要的部分是Header Size和message size。TIPC消息header如下所示:

  微信圖片_20211108172109.jpg

  TIPC消息header

  這兩個size大小是由tipc_msg_validate函數來進行驗證的:

  微信圖片_20211108172112.jpg

  TIPC漏洞

  2020年9月引入了一個新的用戶消息類型——MSG_CRYPTO,該消息類型允許節點發送加密的秘鑰。該消息結構如下所示:

  struct tipc_aead_key {

  char alg_name[TIPC_AEAD_ALG_NAME];

  unsigned int keylen;       /* in bytes */

  char key[];

  };

  其中 TIPC_AEAD_ALG_NAME是32位的宏。消息接收后,TIPC kernel模塊需要復制該信息到該節點來存儲:

  /* Allocate memory for the key */

  skey = kmalloc(size, GFP_ATOMIC);

  /* … */

  /* Copy key from msg data */

  skey->keylen = ntohl(*((__be32 *)(data + TIPC_AEAD_ALG_NAME)));

  memcpy(skey->alg_name, data, TIPC_AEAD_ALG_NAME);

  memcpy(skey->key, data + TIPC_AEAD_ALG_NAME + sizeof(__be32),

  skey->keylen);

  用來分配的size大小與message payload的size大小是相同的。密鑰算法和密鑰本身也都會被復制。

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

  微信圖片_20211108172116.jpg

  可以觸發該漏洞的MSG_CRYPTO消息示例

  微信圖片_20211108172119.jpg

  漏洞利用

  該漏洞可以在本地或遠程利用。由于對kernel堆中分配的對象的控制更多,因此本地利用更加容易一些。如下所示,攻擊者可以創建一個20字節的包,并設置message size為10字節,并繞過檢查:

  目前補丁也已經發布,完整技術細節參見:

https://www.sentinelone.com/labs/tipc-remote-linux-kernel-heap-overflow-allows-arbitrary-code-execution/




電子技術圖片.png


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲精品综合一区二区三区在线 | 精品午夜国产在线观看不卡 | 亚洲日本va午夜中文字幕 | 日韩特黄特色大片免费视频 | 日本三级香港三级人妇gg在线 | 成人国产欧美精品一区二区 | 国产香蕉在线视频一级毛片 | 欧美亚洲国产成人精品 | 亚洲欧美日本国产综合在线 | 久久男人的天堂 | 日韩三级免费 | 美女在线网站免费的 | 一本色道久久综合网 | 亚洲网视频 | 国产精品久久久久久久久久久搜索 | 成 人 动漫在线观看网站网站 | 一级毛毛片毛片毛片毛片在线看 | 香港三级日本三级人妇网站 | 国产一区高清 | 亚洲欧美视频一区 | 淫模 | 美国全免费特一级毛片 | 日韩欧美一区二区精品久久 | 久久久久毛片成人精品 | 中国欧美一级毛片免费 | 99久久精品免费国产一区二区三区 | 精品无码三级在线观看视频 | 欧美成人做爰网站 | 特级aa毛片在线播放 | 99久久精品国产一区二区小说 | 在线视频一区二区三区三区不卡 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 免费人成网站免费看视频 | 日韩一区二区三区在线 | 草草影院www色极品欧美 | 免费一级a毛片在线播放 | 日本三级2021最新理论在线观看 | 日本www免费视频网站在线观看 | 男人的天堂在线免费视频 | 一级特黄aa大片欧美 | 91亚洲精品国产第一区 |