91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

APPLE MACOS內核OOB寫入權限提升漏洞CVE-2020-27897的示例分析

發布時間:2021-12-28 10:55:19 來源:億速云 閱讀:194 作者:小新 欄目:安全技術

這篇文章給大家分享的是有關APPLE MACOS內核OOB寫入權限提升漏洞CVE-2020-27897的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

僅供參考學習使用。

漏洞分析

用戶空間和英特爾內核驅動程序之間的通信是使用IOConnectCallMethod完成的,而IOConnectCallMethod最終還會使用Mach消息。IntelMTRenderFunctions是一個類,它負責處理來自客戶端的內核命令以便通過execute()方法來呈現UI信息。每個內核命令都由一個數值標識,在我們的例子中,我們將關注命令0x10005。除了內核命令號之外,execute()還可以接受來自客戶端緩沖區的數據。此緩沖區中的偏移量用于生成結構地址的算術運算,這個運算操作會在未進行邊界檢查的情況下發生,并觸發越界寫入漏洞。

對于代碼路徑IntelMTLRenderFunctions::execute()的描述如下:用戶空間客戶端可以通過調用IOAccelSharedUserClient2::create_shmem()函數創建兩個共享內存映射,該函數由另一個內核擴展IOAcceleratorFamily2提供。第一個內存映射將用作請求的分段描述符,而第二個內存映射包含一個命令緩沖區。create_shmem()函數將使用唯一的ID注冊映射并返回它們,然后將這些ID與內核命令緩沖區一起傳遞給IOAccelCommandQueue::s_submit_command_buffers(),這個內核命令緩沖區的大致結構(數組)如下所示:

struct command {     uint32_t type;     uint32_t size;     uint8_t *cmd; }

這個數組之后會進行分割,最終將以一個內核命令傳遞給IGAccelCommandQueue::processKernelCommand(),該內核命令結構如下:

struct command {     uint32_t    cmd_id;           // 0x10005     uint32_t    size;                   uint32_t    offset;           // the offset that causes no boundary check     uint32_t    loop_counter;       uint32_t    zero1;     uint32_t    zero2;     uint32_t    controlled_value; // controlled value which can be written to the offset     uint32_t    zero3; };

接下來,它將會傳遞給AppleIntelKBLGraphics中的IntelMTLRenderFunctions::execute()并處理內核命令0x10005:

APPLE MACOS內核OOB寫入權限提升漏洞CVE-2020-27897的示例分析

下面給出的是針對該漏洞的利用PoC:

APPLE MACOS內核OOB寫入權限提升漏洞CVE-2020-27897的示例分析

總結

內核驅動程序中的漏洞總是非常的有意思,它們的攻擊向量往往需要伴隨遠程代碼執行漏洞。一旦存在這種漏洞,那么將有可能導致目標設備完全被攻擊者接管。

感謝各位的閱讀!關于“APPLE MACOS內核OOB寫入權限提升漏洞CVE-2020-27897的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

oob
AI

洪洞县| 绥中县| 襄樊市| 科尔| 子洲县| 察雅县| 凤山县| 临武县| 彭泽县| 错那县| 鄂伦春自治旗| 措美县| 进贤县| 贞丰县| 于都县| 社旗县| 越西县| 承德市| 铁岭市| 吉安市| 延寿县| 汾西县| 塔河县| 中阳县| 疏附县| 育儿| 太白县| 定日县| 灵山县| 洪泽县| 社会| 安阳市| 潞城市| 合江县| 汶川县| 姜堰市| 潞西市| 赣榆县| 育儿| 葫芦岛市| 荆门市|