Linux KernelÐÅϢй¶Îó²î£¨CVE-2020-28588£©
Ðû²¼Ê±¼ä 2021-04-280x00 Îó²î¸ÅÊö
CVE ID | CVE-2020-28588 | ʱ ¼ä | 2021-04-28 |
Àà ÐÍ | ÐÅϢй¶ | µÈ ¼¶ | ¸ßΣ |
Ô¶³ÌʹÓà | Ó°Ïì¹æÄ£ | ||
PoC/EXP | δ¹ûÕæ | ÔÚҰʹÓà |
0x01 Îó²îÏêÇé
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/