Linux KernelÐÅϢй¶Îó²î£¨CVE-2020-28588£©

Ðû²¼Ê±¼ä 2021-04-28

0x00 Îó²î¸ÅÊö

CVE  ID

CVE-2020-28588

ʱ    ¼ä

2021-04-28

Àà   ÐÍ

ÐÅϢй¶

µÈ    ¼¶

¸ßΣ

Ô¶³ÌʹÓÃ


Ó°Ïì¹æÄ£


PoC/EXP

δ¹ûÕæ

ÔÚҰʹÓÃ


 

0x01 Îó²îÏêÇé

image.png

2021Äê04ÔÂ27ÈÕ£¬£¬£¬£¬£¬£¬Cisco Talos¹ûÕæÅû¶ÁËÔÚLinuxÄÚºËÖз¢Ã÷µÄÒ»¸öÐÅϢй¶Îó²î £¨CVE-2020-28588£©¡£¡£ ¡£¡£¡£¡£¡£¸ÃÎó²î±£´æÓÚÔËÐÐLinuxµÄ32λARM×°±¸µÄ/proc/pid/syscall¹¦Ð§ÖУ¬£¬£¬£¬£¬£¬ÓÉÓÚÊýÖµÀàÐÍÖ®¼äµÄ¹ýʧת»»£¬£¬£¬£¬£¬£¬¹¥»÷Õß¿ÉÒÔͨ¹ý¶ÁÈ¡/proc/<pid>/syscallÎļþÀ´Ê¹ÓôËÎó²î£¬£¬£¬£¬£¬£¬ÒÔÉó²éÄں˿ÍÕ»ÄÚ´æÐÅÏ¢»òͨ¹ý´ËÎó²îÀ´Ê¹ÓÃÆäËüδÐÞ¸´µÄLinuxÎó²î¡£¡£ ¡£¡£¡£¡£¡£

±ðµÄ£¬£¬£¬£¬£¬£¬¹¥»÷Õß»¹¿ÉÒÔͨ¹ý´ËÐÅϢй¶Îó²îÈÆ¹ýKASLR¡£¡£ ¡£¡£¡£¡£¡£Äں˵صã¿Õ¼ä½á¹¹Ëæ»ú»¯£¨KASLR£©ÊÇÒ»ÖÖ·´Ê¹ÓÃÊÖÒÕ£¬£¬£¬£¬£¬£¬¿ÉÒÔ½«ÖÖÖÖ¹¤¾ßËæ»ú°²ÅÅ£¬£¬£¬£¬£¬£¬ÒÔ±ÜÃâ±»¹¥»÷ÕßÍÆ²â¡£¡£ ¡£¡£¡£¡£¡£

 

Îó²îϸ½Ú

/ProcÊÇÀàUnixϵͳÖеÄÒ»¸öÌØÊâµÄÐéÄâÎļþϵͳ£¬£¬£¬£¬£¬£¬ÓÃÓÚ¶¯Ì¬µØ»á¼ûÄÚºËÖеÄÀú³ÌÊý¾Ý¡£¡£ ¡£¡£¡£¡£¡£ËüÒÔÀàËÆÓÚÎļþµÄÌõÀí½á¹¹ÏÔʾÓйØÀú³ÌµÄÐÅÏ¢ºÍÆäËüϵͳÐÅÏ¢¡£¡£ ¡£¡£¡£¡£¡£ÀýÈ磬£¬£¬£¬£¬£¬Ëü°üÀ¨/proc/[pid]×ÓĿ¼£¬£¬£¬£¬£¬£¬Ã¿¸ö×ÓĿ¼¶¼°üÀ¨ÎļþºÍ×ÓĿ¼£¬£¬£¬£¬£¬£¬ÕâЩÎļþºÍ×ÓĿ¼°üÀ¨ÁËÓйØÌض¨Àú³ÌµÄÐÅÏ¢£¬£¬£¬£¬£¬£¬¶øÕâЩÐÅÏ¢¿ÉÒÔͨ¹ýʹÓÃÏìÓ¦µÄÀú³ÌIDÀ´¶ÁÈ¡¡£¡£ ¡£¡£¡£¡£¡£syscall ÎļþÊÇÒ»¸öÕýµ±µÄLinuxϵͳÎļþ£¬£¬£¬£¬£¬£¬Ëü°üÀ¨ÄÚºËʹÓõÄϵͳŲÓÃÈÕÖ¾¡£¡£ ¡£¡£¡£¡£¡£

/proc/pid/syscallÎļþ»á̻¶ϵͳŲÓúÅÂëºÍÄ¿½ñÀú³ÌÕýÔÚÖ´ÐеÄϵͳŲÓõIJÎÊý¼Ä´æÆ÷£¬£¬£¬£¬£¬£¬ÒÔ¼°¿ÍÕ»Ö¸ÕëºÍ³ÌÐò¼ÆÊýÆ÷¼Ä´æÆ÷µÄÖµ¡£¡£ ¡£¡£¡£¡£¡£ËäÈ»´ó´ó¶¼ÏµÍ³Å²ÓÃʹÓõļĴæÆ÷½ÏÉÙ£¬£¬£¬£¬£¬£¬µ«ËùÓеÄÁù¸ö²ÎÊý¼Ä´æÆ÷µÄÖµ¶¼»á±»Ì»Â¶¡£¡£ ¡£¡£¡£¡£¡£

¹¥»÷Õß¿ÉÒÔͨ¹ý¶ÁÈ¡/proc/<pid>/syscallÎļþÀ´Éó²éÄÚºËÄÚ´æÐÅÏ¢£¬£¬£¬£¬£¬£¬Õâ¿ÉÒÔÔÚÄÚºËÉèÖÃÁËCONFIG_HAVE_ARCH_TRACEHOOKµÄÈκÎÌØ¶¨LinuxϵͳÉÏ¿´µ½Êä³ö£¬£¬£¬£¬£¬£¬µ«¹¥»÷ÎÞ·¨ÔÚÔ¶³ÌÍøÂçÉϾÙÐмì²â¡£¡£ ¡£¡£¡£¡£¡£

´¥·¢¸ÃÎó²îµÄshellÏÂÁîΪ£º

# echo 0 > /proc/sys/kernel/randomize_va_space (# only needed for a cleaner output)

$ while true; do cat /proc/self/syscall; done | uniq (# waits for changes)

$ while true; do free &>/dev/null; done (# triggers changes)

 

Ñо¿Ö°Ô±Ê×ÏÈÔÚAzure Sphere×°±¸£¨°æ±¾20.10£¬£¬£¬£¬£¬£¬32λARM×°±¸£©ÉÏ·¢Ã÷ÁËÕâ¸öÎó²î£¬£¬£¬£¬£¬£¬¸Ã×°±¸ÔËÐдòÁËÒ»¸ö²¹¶¡µÄLinuxÄںˡ£¡£ ¡£¡£¡£¡£¡£Õâ¸öÎó²îÔÚv5.1-rc4£¨ÌύΪ631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0£©ÖÐÒѾ­±»ÒýÈ룬£¬£¬£¬£¬£¬µ«ÔÚv5.10-rc4ÖÐÈÔÈ»±£´æ£¬£¬£¬£¬£¬£¬ÒÔÊÇÕâÖÐÐĵÄËùÓа汾ºÜ¿ÉÄܶ¼Êܵ½Ó°Ïì¡£¡£ ¡£¡£¡£¡£¡£

 

Ó°Ïì¹æÄ£

v5.1-rc4 - v5.10-rc4

ÒѲâÊÔ°æ±¾£º

Linux Kernel v5.10-rc4

Linux Kernel v5.4.66

Linux Kernel v5.9.8

 

0x02 ´¦Öóͷ£½¨Òé

½¨ÒéÉý¼¶µ½×îа汾¡£¡£ ¡£¡£¡£¡£¡£

ÏÂÔØÁ´½Ó£º

https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.12.tar.xz

 

0x03 ²Î¿¼Á´½Ó

https://blog.talosintelligence.com/2021/04/vuln-spotlight-linux-kernel.html

https://talosintelligence.com/vulnerability_reports/TALOS-2020-1211

https://threatpost.com/linux-kernel-bug-wider-cyberattacks/165640/

 

0x04 ʱ¼äÏß

2021-04-27  Cisco Talos¹ûÕæÎó²î

2021-04-28  VSRCÐû²¼Ç徲ͨ¸æ

 

0x05 ¸½Â¼

 

CVSSÆÀ·Ö±ê×¼¹ÙÍø£ºhttp://www.first.org/cvss/

image.png