按 Enter 到主內容區
:::

TWCERT-電子報

:::

整數溢位漏洞Mutagen Astronomy正潛藏多種Linux版本

發布日期:
字型大小:
  • 發布單位:TWCERT/CC
  • 更新日期:2019-04-03
  • 點閱次數:586
整數溢位漏洞Mutagen Astronomy正潛藏多種Linux版本

CVE編號

CVE-2018-14634

內文

●概述:
天文異變(Mutagen Astronomy)這個充滿科幻味的詞,並非討論外太空議題,而是針對最新發現之Linux kernel嚴重瑕疵所命名,據Qualys研究室指出,Red Hat、CentOS、Debian等 Linux Kernel,其函數create_elf_tables( )計算過程恐觸發整數溢位,導致變數items成為負值,干擾後續堆疊指標精確性,從而指向錯誤記憶體位置,上述事態危及2007年7月19日至2017年7月7日Kernel版本,且僅限64位元系統環境,因攻擊技術需搭配足夠位址空間,駭客於本機入侵得手,將獲致root權限,目前僅有臨時解決方法(回溯1年以前修補),而探勘驗證程式碼已釋出,治本性修補仍在研發中,使用者宜關注最新進度。
●編註:
(1)影響層面
本次buffer overflow漏洞Mutagen Astronomy,已證實存在於Red Hat、CentOS、Debian等3家Linux作業系統,影響64位元之Linux Kernel版本2.6.x、3.10.x、4.14.x,發布時間從2007年7月19日(kernel commit: b6a2fea39318)至2017年7月7日(kernel commit: da029c11e6b1)前均在此範圍,特別強調是kernel有commit: b6a2fea39318而無commit: da029c11e6b1者為可探勘目標,如Red Hat Enterprise Linux 6、7、MRG 2有風險,而Enterprise Linux 5卻無恙,故回溯到1年前的修補也是治標方案。
(2)探勘原理
Mutagen Astronomy係Linux內核之函數create_elf_tables( )計算過程所觸發漏洞,create_elf_tables( )能操縱使用者空間記憶體配置表,部分函數如下:
#define STACK_ROUND(sp, items) \
(((unsigned long) (sp - items)) &~ 15UL)
...
create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
...
int argc = bprm->argc;
int envc = bprm->envc;
elf_addr_t __user *sp;
...
int items;
...
p = arch_align_stack(p);
...
items = (argc + 1) + (envc + 1) + 1;
bprm->p = STACK_ROUND(sp, items);
...
sp = (elf_addr_t __user *)bprm->p;
在items = (argc + 1) + (envc + 1) + 1此行所示,argc及envc兩變數值限制於0x7FFFFFFF(16進位)內,本機駭客儘管未具高階權限,然能接觸SUID binary或其他存取權,即可製造items整數溢位狀況,溢位本身並非嚴重威脅,只讓items成負數,但干擾後續程式運算stack指標,將衍生挾帶root身分,且執行惡意碼之結果。
此項本機入侵技術,無法對32位元系統生效,因位址空間不夠大,但在64位元系統則足以施展。

影響產品

Kernel version 2.6.x、3.10.x、4.14.x

解決辦法

(1)暫無安全更新,可回溯至2017年7月7日前舊版Kernel。
(2)Redhat用戶,參考https://access.redhat.com/security/cve/cve-2018-14634 ,文內Mitigation段落公布原始碼教學。
回頁首