日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核溢出利用,窖藏15年新鲜出炉的Linux内核漏洞

發布時間:2023/12/16 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核溢出利用,窖藏15年新鲜出炉的Linux内核漏洞 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

新發現的“老洞”

當您隨意瀏覽Linux內核的源代碼時,是否有過突然冒出“等一下,這里好像不太對勁”的想法呢?當我們在Linux內核的一個被遺忘的角落里發現了三個安全漏洞時,就出現過這種情況,并且,新發現的這些漏洞已經潛伏了15年左右了。與我們發現的大多數積滿灰塵的東西不同,這些漏洞仍然具有很高的實用價值,其中一個漏洞可以用來在多個Linux環境中實現本地提權(LPE)。

關于SCSI

本文中涉及的子系統為SCSI(Small Computer System Interface,小型計算機系統接口)數據傳輸系統,它是為連接計算機與外圍設備而制定的數據傳輸標準。SCSI是一個古老的標準,最初發布于1986年,并且是服務器設置的首選標準,而iSCSI基本上就是基于TCP的SCSI。實際上,SCSI至今仍在使用,特別是當我們要與某些存儲設備打交道的時候,但是,它是如何成為默認Linux系統上的攻擊面的呢?

通過廣泛的包依賴關系,rdma-core軟件包最終被安裝到了所有包含GUI的RHEL或CentOS基礎環境(工作站、帶GUI的服務器和虛擬化主機),以及Fedora工作站中。此外,rdma-core軟件包也可以安裝到其他Linux發行版上,包括Ubuntu和Debian,因為它是許多其他軟件包的依賴項之一(見圖1)。在Ubuntu Server 18.04 LTS和更早的版本上,rdma-core是默認安裝的軟件包。

在默認安裝的RHEL 8.3系統中,依賴rdma-core包的軟件清單

RDMA(Remote Direct Memory Access,遠程直接內存訪問)是一種高吞吐量、低延遲的網絡技術,其在數據傳輸和存儲方面的應用非常廣泛。當然,RDMA的實現方案有多個,但本文中討論的是Infiniband,它位于ib_iser內核模塊中。

讀到這里,您可能會想:“等等,如果不使用SCSI或iSCSI,這一切是否還能自動啟動和運行的嗎?”,那很好,因為這個問題會把我們引向按需內核模塊加載的概念,這也是一個存在已久的攻擊載體。

自動模塊加載

如果特定代碼注意到需要某些功能并可以加載相關的模塊(例如對不常見的協議系列的支持),則Linux內核可以按需加載內核模塊,這樣做的好處是,不僅可以提供更多的功能,還能提高兼容性。凡事有利即有弊,它同時也為本地攻擊者打開了一扇窗戶——因為它允許無特權用戶加載某些內核模塊,然后他們就可以利用這些模塊了。實際上,十多年前人們就認識到了這一點,例如早在2009年,grsecurity就引入了GRKERNSEC_MODHARDEN,以防御這種攻擊。2010年,Jon Oberheide以詼諧的方式命名的public exploit,讓人們更加清楚地認識到個問題的嚴重性,不過,Dan Rosenberg在2010年提供的實現sysctl選項的補丁并沒有被采納。在過去的幾年里,還陸續出現了其他的緩解措施,但不同的Linux發行版對這些措施的支持也是一言難盡。

所以,您是想說這個漏洞仍在作祟么?

擁有源代碼的一個好處是,只要掃一眼,某些東西可能會映入您的眼簾,并激發您的興趣,讓您想要抓住它們。我們發現的第一個漏洞就是這種情況。當我們看到一個sprintf函數時,首先想到的就是沒有規定長度的緩沖區副本,這意味著如果它是攻擊者控制的數據并且沒有進行長度驗證(參見圖2),很可能就會出現漏洞。因此,雖然有相當多的間接尋址和宏,而且您必須跳過許多文件來跟隨執行線程,但主要的問題往往只是一個簡單的緩沖區溢出,因為這里使用了sprintf。正如其他漏洞所顯示的那樣,開發人員往往缺乏安全意識的編程實踐;從這里的問題也可以看出,這種現象是普遍存在的。

溢出,無處不在的溢出

第二個漏洞的情況也是類似的:使用內核地址作為句柄。很明顯,之所以出現這種漏洞,是沒有努力防止內核泄露指針所致;利用該漏洞,攻擊者可以輕松繞過內核地址空間布局隨機化(KASLR),因為它指向一個含有許多指針的結構體。而最后一個漏洞,則是未驗證來自用戶態的數據所致,這是一個典型的內核編程問題。

識別漏洞

Linux內核堆緩沖區溢出

·漏洞類型:堆緩沖區溢出。

·漏洞所在位置:位于drivers/scsi/libiscsi.c文件中的iscsi_host_get_param()函數中。

·受影響的版本:已知RHEL 8.1、8.2與8.3版本受此漏洞影響。

·漏洞的影響:LPE,信息泄漏,拒絕服務(DoS)。

·CVE編號:CVE-2021-27365

第一個漏洞是位于iSCSI子系統中的一個堆緩沖區溢出漏洞。對于攻擊者來說,他們可以通過將iSCSI字符串屬性設置為一個大于一頁的值,然后試圖讀取它來觸發該漏洞。實際上,這是因為有一個sprintf調用(詳見kernel-4.18.0-240.el8源碼中drivers/scsi/libiscsi.c文件中的第3397行)被用于處理用戶提供的值,其緩沖區為單頁,用于支持iscsi屬性的seq文件。更具體地說,無特權的用戶可以向iSCSI子系統發送netlink消息(詳見drivers/scsi/scsi_transport_iscsi.c),而iSCSI子系統則會通過drivers/scsi/libiscsi.c文件中的helper函數設置與iSCSI連接相關的屬性,如hostname、username等,這些屬性的大小只受netlink消息的最大長度的限制(根據處理消息的具體代碼,可以為2**32或2**16)。然后,sysfs和seqfs子系統將負責讀取這些屬性,但是,它只會分配一個長度為PAGE_SIZE的緩沖區(詳見fs/seq_file.c中的single_open,在打開sysfs文件時調用)。這個漏洞最初是在2006年開發iSCSI子系統時引入的(參見drivers/scsi/libiscsi.c,提交號為a54a52caad和fd7255f51a)。然而,自首次提交以來,問題代碼中使用的kstrdup/sprintf模式已經擴展為涵蓋更多的字段。

Linux內核指針被泄露到用戶空間

·漏洞類型:內核指針泄漏。

·漏洞所在位置:位于drivers/scsi/scsi_transport_iscsi.c文件中的show_transport_handle()函數中。

·受影響的版本:已知RHEL 8.1、8.2與8.3版本受此漏洞影響。

·漏洞的影響:信息泄漏。

·CVE編號:CVE-2021-27363。

除了堆溢出漏洞外,GRIMM還發現了一個內核指針泄漏漏洞,攻擊者可以利用該漏洞來確定iscsi_transport結構體的地址。當iSCSI傳輸在iSCSI子系統中注冊時,傳輸的“句柄”可以通過sysfs文件系統被非特權用戶所獲取,其地址為/sys/class/iscsi_transport/$TRANSPORT_NAME/handle。當讀取該句柄時,show_transport_handle函數(該函數位于drivers/scsi/scsi_transport_iscsi.c中)會被調用,從而泄露了這個句柄。實際上,這個句柄就是內核模塊全局變量中指向iscsi_transport結構體的指針。

Linux內核越界讀取

·漏洞類型:越界讀取。

·漏洞所在位置:位于drivers/scsi/scsi_transport_iscsi.c文件中的iscsi_if_recv_msg()函數中。

·受影響的版本:已知RHEL 8.1、8.2與8.3版本受此漏洞影響。

·漏洞的影響:信息泄漏, DoS。

·CVE編號:CVE-2021-27364。

最后一個漏洞是libiscsi模塊(drivers/scsi/libiscsi.c)的越界內核讀取所致。當調用send_pdu(詳見kernel-4.18.0-240.el8源代碼中drivers/scsi/scsi_transport_iscsi.c中的第3747-3750行)函數時,該漏洞就會被觸發。與第一個漏洞類似,非特權用戶可以創建netlink消息,并指定未經驅動程序驗證的緩沖區大小,從而導致可控的越界讀取。實際上,有多個用戶控制的值都未被驗證,其中包括前一個頭部長度的計算結果,因此,攻擊者可以利用可控的32位偏移從原始堆緩沖區最多讀取8192字節。

技術分析

Exploit

實際上,GRIMM開發了一個PoC,以展示前兩個漏洞的利用方法。

在當前狀態下,該PoC支持Linux內核的4.18.0-147.8.1.el8_1.x86_64、4.18.0-193.14.3.el8_2.x86_64和4.18.0-240.el8.x86_64版本。當然,其他版本的Linux內核也存在這些漏洞,但要想利用它們,需要先收集對應的符號地址和結構體偏移量。為此,大家可以參考symbols.c、symbols.h和utilities/get_symbols.sh 腳本,以了解半自動化的符號收集方法。需要說明的是,雖然我們的測試是針對RHEL系統的8.1到8.3版本進行的,但其他使用相同內核映像的Linux發行版也存在同樣的漏洞。

KASLR泄漏

要想修改內核結構體和改變函數指針,我們必須首先繞過KASLR機制。這是因為,Linux會隨機化內核的基址,從而為漏洞利用制造障礙。然而,由于本地信息泄露的來源很多,因此,KASLR經常可以被本地用戶繞過。當然,這個漏洞也不例外,因為它包括兩個獨立的信息泄露漏洞,使其能夠繞過KASLR機制。

第一個信息泄漏來自非NULL終止的堆緩沖區。當通過iscsi_switch_str_param函數(如下圖所示)設置iSCSI字符串屬性時,會對用戶提供的輸入(位于new_val_buf中)調用kstrdup函數。然而,存放用戶輸入的緩沖區在分配時并沒有被初始化,內核也沒有強制要求用戶的輸入是以NULL為終止符的。因此,kstrdup函數將復制客戶端輸入后的所有非NULL字節,以便將來可以通過讀取該屬性來檢索這些字節。攻擊者可以通過指定一個656字節的字符串來利用這種信息泄露,從而導致netlink_sock_destruct的地址包含在kstrdup的字符串中。之后,攻擊者可以讀取這里的屬性集,得到這個函數的地址。通過減去netlink_sock_destruct的基地址,攻擊者就可以計算出內核地址隨機化時所用的偏移量。實際上,netlink_sock_destruct函數指針的內存分配是在__netlink_create函數(該函數位于net/netlink/af_netlink.c內)中進行的,所以,這其實就是發送netlink消息的“副作用”。

int iscsi_switch_str_param(char **param, char *new_val_buf)

{

char *new_val;

if (*param) {

if (!strcmp(*param, new_val_buf))

return 0;

}

new_val = kstrdup(new_val_buf, GFP_NOIO);

if (!new_val)

return -ENOMEM;

kfree(*param);

*param = new_val;

return 0;

}

第二個信息泄露,是通過第二個漏洞獲取目標模塊的iscsi_transport結構體的地址來實現的。這個結構體定義了傳輸的相關操作,即如何處理各種iSCSI請求。由于這個結構體位于目標內核模塊的全局內存中,因此,攻擊者可以利用這個信息泄露來獲取其內核模塊的地址(從而獲取其中的任何其他變量)。

獲取內核寫入原語

眾所周知,Linux內核堆的SLUB分配器維護著一個相同大小的對象高速緩存(以2的冪為單位)。這個緩存中的每個空閑對象都包含一個指向緩存中下一個空閑項的指針(位于該空閑項的偏移量0處)。因此,攻擊者可以利用堆溢出來修改位于相鄰內存slab開頭位置的空閑項指針。通過重定向這個指針,攻擊者就可以控制內核在哪里進行分配內存空間。通過仔細選擇內存分配位置并控制該緩存中的分配空間,攻擊者就獲得了一個受限的內核寫原語。正如下一節所解釋的那樣,攻擊者可以利用這個受控寫原語來修改iscsi_transport結構體。

為了獲得所需的堆布局,我們的exploit代碼將利用POSIX消息隊列消息進行堆梳理。這里的exploit代碼將在4096 kmalloc緩存上執行相關的操作,這是一個流量相對較低的緩存。因此,在利用該空閑列表時,無論將其重定向到哪些位置,都不太可能引起問題。另外,之所以選擇消息隊列消息進行堆梳理,是因為它們不僅便于在用戶態中進行分配/釋放,同時,它們的內容和長度也可以在用戶態中進行控制。

該exploit將通過以下步驟利用堆溢出漏洞獲取內核寫原語:

·向自己發送大量的消息隊列消息,但不接收它們。這將導致內核在內核空間中創建相關的消息隊列結構體,進而“淹沒”4096 kmalloc緩存。

·接收一些消息隊列消息。這將導致內核釋放一些內核消息隊列結構體。如果成功的話,所導致的4096 kmalloc緩存將包含一系列的空閑項,如下圖(1)所示。

·該exploit代碼觸發溢出漏洞。溢出的空間將占用緩存中的一個空閑項,并溢出相鄰空閑項的下一個空閑列表指針,如下圖(2)和(3)所示。該exploit利用溢出漏洞來重定向下一個空閑列表指針,使其指向ib_iser模塊的iscsi_transport結構體。

·發生溢出后,該exploit會發送更多的消息隊列消息,以便重新分配修改后的空閑項。內核會遍歷空閑項,并在我們修改后的空閑項指針處返回一個分配空間,如下圖(4)所示。

堆修整與溢出緩存布局

雖然這種方法確實能夠在受控位置對內核內存進行寫操作,但仍有一些事項需要注意:所選位置必須以一個NULL指針開始;否則,分配內存時會將這個值的指針鏈接到空閑列表中。隨后的內存分配將會使用這個指針,并導致內存損壞,從而引起內核崩潰。此外,由于內核消息隊列結構在用戶控制的消息體之前包括一個0x30字節的頭部,因此,該exploit無法控制其寫入的前0x30字節的內容。

目標選擇與利用方法

現在,我們不僅繞過了KASLR防御機制,并能夠將任意內容寫入內核內存,那么,下一個任務就是使用這些原語來獲得更強的內核讀/寫原語并提升權限。為此,該exploit需要針對ib_iser模塊的iscsi_transport結構體實現任意寫入。如下所示,此結構體中含有許多iSCSI netlink消息處理函數的指針,而iSCSI子系統則使用處于用戶的部分控制之下的參數來調用這些指針對應的函數。通過修改這些函數指針,我們的exploit就可以調用任意函數,并且這些函數都帶有多個由用戶控制的參數。

struct iscsi_transport {

...

int (*alloc_pdu) (struct iscsi_task *task, uint8_t opcode);

int (*xmit_pdu) (struct iscsi_task *task);

...

int (*set_path) (struct Scsi_Host *shost, struct iscsi_path *params);

int (*set_iface_param) (struct Scsi_Host *shost, void *data,

uint32_t len);

int (*send_ping) (struct Scsi_Host *shost, uint32_t iface_num,

uint32_t iface_type, uint32_t payload_size,

uint32_t pid, struct sockaddr *dst_addr);

int (*set_chap) (struct Scsi_Host *shost, void *data, int len);

int (*new_flashnode) (struct Scsi_Host *shost, const char *buf,

int len);

int (*del_flashnode) (struct iscsi_bus_flash_session *fnode_sess);

...

};

獲取穩定的內核讀/寫原語

該exploit會修改iscsi_transport結構體中的函數指針,具體如下圖所示。修改之后,函數指針send_ping和set_chap將指向seq_buf_to_user和seq_buf_putmem函數。之后,該exploit將利用這些函數來獲取穩定的內核讀寫原語。這些函數將以seq_buf結構體、緩沖區和長度作為其參數,然后對內核內存進行相應的讀寫操作。實際上,傳入的seq_buf結構體,定義了這些函數將從內存中哪些位置進行讀取或寫入操作。但是,從上面的結構體的定義中可以看出,被覆蓋的函數指針將傳遞一個Scsi_Host結構體來作為第一個參數,而不是將由exploit提供的seq_buf結構體作為其第一個參數。解決這個問題的一種簡單方法,就是修改與我們的連接相關聯的Scsi_Host結構體,使其類似于seq_buf結構體。由于Scsi_Host結構體的開頭部分并沒有提供被利用的函數所需的任何值,因此,我們的exploit可以使用修改后的set_iface_param函數指針來調用memcpy并覆蓋Scsi_Host結構體。之后,就可以調用seq_buf_to_user和seq_buf_putmem函數來讀寫內核內存了。

然后,exploit代碼將利用內核讀寫原語從4096 kmalloc緩存中刪除重疊的空閑列表區域,并修復由于重疊分配而導致的一些內存損壞問題。

修改exploit代碼前后,ib_iser模塊的iscsi_transport的變化情況

實現提權

有了調用任意函數和讀寫內核內存的能力,攻擊者就可以通過各種途徑來獲得root權限。就這里的exploit來說,它是通過對param_array_free的鏈式調用來調用內核函數run_cmd,從而獲得特權代碼執行的權限。這個內核函數將接收一個要運行的命令,并在kernel_t SELinux上下文中以root身份執行該命令。該exploit將利用 iscsi_transport結構體中指向/tmp/a.sh字符串的指針來調用這個函數,并運行提權后所需的payload.。由于特權升級或內核讀/寫原語都不是直接從內核中解引用或執行用戶態下的內存中的內容,因此,該exploit能夠繞過Supervisor模式執行保護(Supervisor Mode Execution Prevention,SMEP)、Supervisor模式訪問保護(Supervisor Mode Access Prevention,SMAP)和內核頁表隔離(Kernel Page Table Isolation,KPTI)機制。

雖然這個exploit在某些Linux發行版上運行,但其使用的技術無法適用于所有發行版。例如,有些Linux發行版會為堆中的空閑列表指針提供相應的保護機制,以防止被它們被攻擊者所利用(比如CONFIG_SLAB_FREELIST_HARDENED機制);對于這些系統來說,這個exploit就無法正常發揮作用了。不過,只要采用相應的技術來重新設計exploit,攻擊者仍然能夠繞過這些防御機制。

進行測試

要想對本文提供的PoC代碼進行測試,請確保安裝了合適的RHEL系統和內核版本,為此,大家可以用cat /etc/redhat-release命令來檢查系統的發布版本,用 uname -r命令來檢查內核版本。同時,如果您使用的是不受支持的版本,這里的exploit也會檢測到并發出警告。之后,請安裝所需的軟件包并編譯exploit,然后復制相應的腳本并運行該exploit即可,具體命令如下所示:

$ sudo yum install -y make gcc

$ make

$ cp a.sh /tmp/

$ chmod +x /tmp/a.sh

$ ./exploit

最后,這個exploit將會以root身份來運行位于硬編碼位置(/tmp/a.sh)處的一個腳本。實際上,我們的存儲庫中提供了一個演示腳本,它可以在/tmp目錄中創建一個隸屬于root的文件。當然,該exploit并非100%可靠,因此,有時候需要運行許多次才可成功。其中,可能遇到的錯誤情況包括:錯誤警告,如“Failed to detect kernel slide”和“Failed to overwrite iscsi_transport struct (read 0x0)”;以及內核發生崩潰。最后,下面給出成功運行后的輸出內容,具體如下所示:

$ ./exploit

Got iscsi iser transport handle 0xffffffffc0e1a040

KERNEL_BASE=0xffffffff98600000

Setting up target heap buffer

Triggering overflow

Allocating controlled objects

Cleaning up

Running escalation payload

Success

由于該PoC的寫入方式的緣故,運行同一PoC或send_pdu_oob PoC的其他嘗試將會失敗(除非系統重新啟動)。

$ ls -l /tmp/proof

-rwsrwxrwx. 1 root root 14 Jan 14 10:09 /tmp/proof

此外,針對第三個漏洞的PoC也被開發出來了。實際上,send_pdu_oob PoC提供了一個靜態的大偏移量,它會導致對(很可能是)未映射的內核內存進行狂讀,從而導致內核崩潰。需要注意的是,編譯后的PoC應該以root權限運行。由于數據讀取的大小和偏移量都是受控的,所以這個PoC可以通過只泄漏少量的超出原始堆緩沖區的信息來造成信息泄漏。這個漏洞的可利用性的主要限制是,泄露的數據不會直接返回給用戶,而是存儲在另一個緩沖區中,作為以后操作的一部分發送。攻擊者很可能需要設計一個偽造的iSCSI目標來接收泄露的信息,但這超出了本PoC的范圍。

漏洞的影響

由于堆溢出的穩定性較差,第一個漏洞可以用于不可靠的本地DoS攻擊。然而,當與信息泄露相結合時,這個漏洞可以進一步被用于本地權限提升:這樣的話,攻擊者就能從非特權用戶提升為root用戶。不過,這里無需借助于單獨的信息泄露,因為這個漏洞也可以用來泄露內核內存。第二個漏洞(內核指針泄露)影響較小,只能作為潛在的信息泄露。同樣,第三個漏洞(越界讀取)的功能也僅限于作為潛在的信息泄露,甚至是不可靠的本地DoS攻擊。

受影響的系統

為了將這些漏洞暴露到用戶態,必須加載scsi_transport_iscsi內核模塊。實際上,當執行創建NETLINK_ISCSI套接字的套接字調用時,該模塊會自動加載。此外,必須向iSCSI子系統注冊至少一個iSCSI傳輸。在某些配置中,當非特權用戶創建NETLINK_RDMA套接字時,ib_iser傳輸模塊將被自動加載。此外,必須向iSCSI子系統注冊至少一個iSCSI傳輸。

用于識別自己的系統是否受影響的流程圖

在CentOS 8、RHEL 8和Fedora系統上,如果安裝了rdma-core包,非特權用戶就可以自動加載所需模塊。因為這個包是許多流行包的依賴項,因此,它存在于許多系統中。以下CentOS 8和RHEL 8基礎環境的初始安裝中就包含了這個軟件包:

·帶有圖形用戶界面(GUI)的服務器;

·工作站;

·虛擬主機。

以下CentOS 8和RHEL 8基礎環境在初始安裝時并沒有包含這個軟件包,但可以在之后通過yum軟件進行安裝:

·服務器;

·最小化安裝;

·自定義操作系統。

該軟件包包含在Fedora 31 Workstation的基礎安裝中,但是Fedora 31 Server并沒有包含該軟件包。

在Debian和Ubuntu系統中,只有在RDMA硬件可用的情況下,rdma-core軟件包才會自動加載兩個所需的內核模塊。因此,該漏洞的范圍因此受到了一定的限制。

小結

上面討論的漏洞來自于Linux內核中一個非常老的驅動程序。由于一種相當新的技術(RDMA)和基于兼容性而非風險的默認行為,這個驅動程序的影響變得更加明顯。Linux內核之所以加載模塊,要么是因為檢測到了新的硬件,要么是因為內核函數檢測到模塊丟失。并且,后一種隱式自動加載的情況更容易被濫用,并且很容易被攻擊者觸發,從而增加了內核的攻擊面。

在這些特定漏洞的上下文中,在沒有連接iSCSI設備的機器上存在與iSCSI子系統相關的加載內核模塊是一個潛在的入侵指標。一個更大的指標是主機的系統日志中存在以下日志消息:

localhost kernel: fill_read_buffer: dev_attr_show+0x0/0x40 returned bad count

雖然這條消息并不能保證本報告中描述的漏洞已經被利用,但它確實表明已經發生了某種緩沖區溢出。

這種風險向量已經被人們所熟知多年,并且已經出現了多種針對模塊自動加載的防御措施,包括grsecurity的MODHARDEN和許多系統實現的modules_autoload_mode、modules_disabled sysctl變量、將特定協議系列列入黑名單的發行版,以及使用特定機器的模塊黑名單。這些都是獨立的選項,可以用于深入防御的策略,并且服務器管理員和開發人員可以采取被動和主動的措施。

然而,由于兼容性和安全性之間的緊張關系,這仍然是Linux內核的一個真正的問題領域。對于管理員和操作人員來說,需要了解風險、防御選擇,以及如何應用這些選擇,才能有效保護自己的系統。

時間線

·02/17/202:通知的Linux安全團隊

·02/17/2021:申請并收到的CVE編號

·03/07/2021:主流Linux內核發布補丁程序

·03/12/2021:公開披露(NotQuite0DayFriday)

參考及來源:https://blog.grimm-co.com/2021/03/new-old-bugs-in-linux-kernel.html

總結

以上是生活随笔為你收集整理的linux内核溢出利用,窖藏15年新鲜出炉的Linux内核漏洞的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。