¡¾·ì϶¹«¸æ¡¿XZ-Utils¹©¸øÁ´ºóÃÅ·ì϶£¨CVE-2024-3094£©

°ä²¼¹¦·ò 2024-03-30


Ò»¡¢·ì϶¸ÅÊö

·ìϼûû³Æ

      XZ-Utils¹©¸øÁ´ºóÃÅ·ì϶

CVE   ID

CVE-2024-3094

·ì϶ÀàÐÍ

ºóÃÅ·ì϶

·¢ÏÖ¹¦·ò

2024-03-30

·ì϶ÆÀ·Ö

10.0

·ì϶µÈ¼¶

ÑϳÁ

¹¥»÷ÏòÁ¿

ÍøÂç

ËùÐèȨÏÞ

ÎÞ

ÀûÓÃÄѶÈ

µÍ

Óû§½»»¥

ÎÞ

PoC/EXP

Òѹ«¿ª

ÔÚÒ°ÀûÓÃ

δ֪

 

XZ-UtilsÊÇLinux/UnixϵͳÖÐÓÃÓÚ´¦ÖÃ.xzºÍ.lzmaÎļþµÄºÅÁîÐÐѹËõ¹¤¾ß£¬¼¯³ÉÁËliblzmaµÈ×é¼þ ¡£

2024Äê3ÔÂ30ÈÕ£¬GA»Æ½ð¼×VSRC¼à²âµ½¹ú±í°²È«×êÑÐÔ±°ä²¼ÐÂÎÅ£¬ÔÚxz-utilsÈí¼þ°ü5.6.0µ½5.6.1°æ±¾ÖУ¬´æÔÚ¹©¸øÁ´¹¥»÷¼°Ö²ÈëºóÃÅ·çÏÕ£¬·ì϶±àºÅΪCVE-2024-3094£¬·ì϶µÄCVSSÆÀ·ÖΪ10.0 ¡£

3ÔÂ29ÈÕ£¬Î¢ÈíPostgreSQL¿ª·¢ÈËÔ±Andres FreundÔÚµ÷²éSSH»úÄÜÎÊÌâʱ£¬ÔÚ¿ªÔ´°²È«ÓʼþÁбíÖз¢Ìû³Æ£¬ËûÔÚxzÈí¼þ°üÖз¢ÏÖÁËÒ»¸öÉæ¼°»ìºÏ¶ñÒâ´úÂëµÄ¹©¸øÁ´¹¥»÷ ¡£¶ñÒâ´úÂëÅú¸ÄÁËliblzma´úÂëÖеĺ¯Êý£¬¸Ã´úÂëÊÇ XZ UtilsÈí¼þ°üµÄÒ»²¿ÃÅ ¡£ÓÉÓÚSSHµ×²ãÒÀÀµÁËliblzmaµÈ×é¼þ£¬¹¥»÷Õß¿ÉÄÜÀûÓÃÕâÒ»·ì϶·ÛËésshdÈÏÖ¤£¬²¢Ô¶³Ì»ñÈ¡¶ÔÕû¸öϵͳµÄδÊÚȨ½Ó¼û ¡£


¶þ¡¢Ó°ÏìÁìÓò

XZ Utils == 5.6.0

XZ Utils == 5.6.1

ÒÑÖªÒÔÏÂLinux¿¯Ðа棨²¿ÃÅ£©¿ÉÄÜÊܸ÷ì϶ӰÏ죺

ÊÜÓ°Ïì²úÆ·/ϵͳ°æ±¾

²Î¿¼Á´½Ó

Fedora   Rawhide

https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users

Fedora   41

https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users

Debian   ²âÊÔ¡¢²»²»±äºÍ³¢ÊÔ¿¯Ðаæ5.5.1alpha-0.1 - 5.6.1-1

https://lists.debian.org/debian-security-announce/2024/msg00057.html

openSUSE   Tumbleweed / openSUSE MicroOS £¨3 Ô 7 ÈÕÖÁ3ÔÂ28ÈÕÆÚ¼ä£¬Tumbelweed   ºÍ MicroOS ÖÐÔ̺¬ÁË xz µÄºóÃŰ汾£©

https://news.opensuse.org/2024/03/29/xz-backdoor/

Kali   Linux£¨3ÔÂ26ÈÕÖÁ3ÔÂ28ÈÕÆÚ¼ä¿¯ÐеÄxz-utils   5.6.0-0.2£©

https://www.kali.org/blog/about-the-xz-backdoor/

Arch   Linux

https://security.archlinux.org/CVE-2024-3094

MACOS   HomeBrew x64


Alpine   Linux Edge

https://security.alpinelinux.org/vuln/CVE-2024-3094

 

ĿǰÒÑÖªFedora 40¡¢RedHat È«Êý°æ±¾¡¢Debian ËùÓв»±ä°æ¡¢SUSEÈ«Êý°æ±¾µÈLinux¿¯Ðа治Ò×Êܵ½Ó°Ïì ¡£¾ßÌåÊÜÓ°Ïìϵͳ¼°zx°æ±¾¿É²Î¿¼£º

https://repology.org/project/xz/versions

 

 

Èý¡¢°²È«´ëÊ©

3.1 ¼ì²â

1.Óû§Äܹ»Í¨¹ýÖ´ÐÐÒÔϺÅÁîÅжÏʹÓõÄxzÊÇ·ñΪÊÜÓ°ÏìµÄ°æ±¾£º

xz ¨Cversion


2.Ò²¿ÉʹÓÃÈçϾ籾²é³­ÏµÍ³ÊÇ·ñ±»Ï°È¾ºóÃÅ£º

#! /bin/bash

set -eu

# find path to liblzma used by sshd

path="$(ldd $(which sshd) | grep liblzma | grep -o '/[^ ]*')"

 

# does it even exist?

if [ "$path" == "" ]

then

  echo probably not vulnerable

  exit

fi

 

# check for function signature

if hexdump -ve '1/1 "%.2x"' "$path" | grep -q f30f1efa554889f54c89ce5389fb81e7000000804883ec28488954241848894c2410

then

  echo probably vulnerable

else

  echo probably not vulnerable

fi

Á´½Ó£º

https://github.com/byinarie/CVE-2024-3094-info/blob/main/xz_cve-2024-3094-detect.sh

 

3. CVE-2024-3094µÄYara¹æ¶¨£º

rule BKDR_XZUtil_Script_CVE_2024_3094_Mar24_1 {

   meta:

      description = "Detects make file and script contents used by the backdoored XZ library (xzutil) CVE-2024-3094."

      author = "Florian Roth"

      reference = "https://www.openwall.com/lists/oss-security/2024/03/29/4"

      date = "2024-03-30"

      score = 80

      hash = "d44d0425769fa2e0b6875e5ca25d45b251bbe98870c6b9bef34f7cea9f84c9c3"

   strings:

      $x1 = "/bad-3-corrupt_lzma2.xz | tr " ascii

      $x2 = "/tests/files/good-large_compressed.lzma|eval $i|tail -c +31265|" ascii

      $x3 = "eval $zrKcKQ" ascii

   condition:

      1 of them

}

 

rule BKDR_XZUtil_Binary_CVE_2024_3094_Mar24_1 {

   meta:

      description = "Detects injected code used by the backdoored XZ library (xzutil) CVE-2024-3094."

      author = "Florian Roth"

      reference = "https://www.openwall.com/lists/oss-security/2024/03/29/4"

      date = "2024-03-30"

      score = 75

      hash1 = "319feb5a9cddd81955d915b5632b4a5f8f9080281fb46e2f6d69d53f693c23ae"

      hash2 = "605861f833fc181c7cdcabd5577ddb8989bea332648a8f498b4eef89b8f85ad4"

      hash3 = "8fa641c454c3e0f76de73b7cc3446096b9c8b9d33d406d38b8ac76090b0344fd"

      hash4 = "b418bfd34aa246b2e7b5cb5d263a640e5d080810f767370c4d2c24662a274963"

      hash5 = "cbeef92e67bf41ca9c015557d81f39adaba67ca9fb3574139754999030b83537"

      hash6 = "5448850cdc3a7ae41ff53b433c2adbd0ff492515012412ee63a40d2685db3049"

   strings:

      $op1 = { 48 8d 7c 24 08 f3 ab 48 8d 44 24 08 48 89 d1 4c 89 c7 48 89 c2 e8 ?? ?? ?? ?? 89 c2 }

      $op2 = { 31 c0 49 89 ff b9 16 00 00 00 4d 89 c5 48 8d 7c 24 48 4d 89 ce f3 ab 48 8d 44 24 48 }

      $op3 = { 4d 8b 6c 24 08 45 8b 3c 24 4c 8b 63 10 89 85 78 f1 ff ff 31 c0 83 bd 78 f1 ff ff 00 f3 ab 79 07 }

 

      /* function signature from detect.sh provided by Vegard Nossum */

      $xc1 = { F3 0F 1E FA 55 48 89 F5 4C 89 CE 53 89 FB 81 E7 00 00 00 80 48 83 EC 28 48 89 54 24 18 48 89 4C 24 10 }

   condition:

      uint16(0) == 0x457f

      and (

         all of ($op*)

         or $xc1

      )

}

 

rule BKDR_XZUtil_KillSwitch_CVE_2024_3094_Mar24_1 {

   meta:

      description = "Detects kill switch used by the backdoored XZ library (xzutil) CVE-2024-3094."

      author = "Florian Roth"

      reference = "https://gist.github.com/q3k/af3d93b6a1f399de28fe194add452d01?permalink_comment_id=5006558#gistcomment-5006558"

      date = "2024-03-30"

      score = 85

   strings:

      $x1 = "yolAbejyiejuvnup=Evjtgvsh5okmkAvj"

   condition:

      $x1

}

Á´½Ó£º

https://github.com/Neo23x0/signature-base/blob/master/yara/bkdr_xz_util_cve_2024_3094.yar

3.2 Éý¼¶°æ±¾

ÈôÊÇÈ·ÈÏÊÜÓ°Ï죬¿É½«XZ Utils½µ¼¶µ½Î´ÊÜÓ°ÏìµÄ°æ±¾£¬ÈçXZ Utils 5.4.6 Stable ¡£

×¢£ºÄ¿Ç°https://github.com/tukaani-project/xz´æ´¢¿âÒѱ»½ûÓà ¡£

3.3 ͨÓý¨Òé

l  ¶¨ÆÚ¸üÐÂϵͳ²¹¶¡£¬Ï÷¼õϵͳ·ì϶£¬ÌáÉý·þÎñÆ÷µÄ°²È«ÐÔ ¡£

l  ¼ÓǿϵͳºÍÍøÂçµÄ½Ó¼û½ÚÔ죬Åú¸Ä·À»ðǽսÊõ£¬¹Ø¹Ø·Ç±ØÒªµÄÀûÓö˿ڻò·þÎñ£¬Ï÷¼õ½«Î£ÏÕ·þÎñ£¨ÈçSSH¡¢RDPµÈ£©Â¶³öµ½¹«Íø£¬Ï÷¼õ¹¥»÷Ãæ ¡£

l  ʹÓÃÆóÒµ¼¶°²È«²úÆ·£¬ÌáÉýÆóÒµµÄÍøÂ簲ȫ»úÄÜ ¡£

l  ¼ÓǿϵͳÓû§ºÍȨÏÞÖÎÀí£¬ÆôÓöà³É·ÖÈÏÖ¤»úÔìºÍ×îÓ×ȨÏÞ×¼Ôò£¬Óû§ºÍÈí¼þȨÏÞӦά³ÖÔÚ×îµÍÏÞ¶È ¡£

l  ÆôÓÃÇ¿ÃÜÂëÕ½Êõ²¢ÉèÖÃΪ¶¨ÆÚÅú¸Ä ¡£

3.4 ²Î¿¼Á´½Ó

https://access.redhat.com/security/cve/CVE-2024-3094 

https://bugzilla.redhat.com/show_bug.cgi?id=2272210  

https://www.openwall.com/lists/oss-security/2024/03/29/4  

https://www.kaspersky.com/blog/cve-2024-3094-vulnerability-backdoor/50873/

https://tukaani.org/xz-backdoor/

 


ËÄ¡¢°æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

±¸×¢

V1.0

2024-03-30

³õ´Î°ä²¼

V1.1

2024-03-30

ÐÂÔö¼ì²â¾ç±¾¡¢ÊÜÓ°Ïìϵͳ°æ±¾

V1.2

2024-04-01

ÐÂÔöYara¹æ¶¨¡¢¸üзì϶ÐÅÏ¢¡¢Éý¼¶°æ±¾µÈ



Îå¡¢¸½Â¼

5.1 GA»Æ½ð¼×¼ò½é

GA»Æ½ð¼×³ÉÁ¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò» ¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°GA»Æ½ð¼×´óÏ㬹«Ë¾Ô±¹¤6000ÓàÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË ¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊÓ×¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬Õ¼Óи²¸ÇÈ«¹úµÄÏúÊÛϵͳ¡¢Çþ·ϵͳºÍ¼¼ÊõÖ§³Öϵͳ ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐÓ×°å¹ÒÅÆÉÏÊÐ ¡££¨¹ÉƱ´úÂ룺002439£©

¶àÄêÀ´£¬GA»Æ½ð¼×ÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦ ¡£

5.2 ¹ØÓÚGA»Æ½ð¼×

GA»Æ½ð¼×°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÒѰ䲼1000¶à¸ö·ì϶¹«¸æÎ¢·çÏÕÔ¤¾¯£¬ÎÒÃǽ«³ÖÐø¸ú×ÙÈ«Çò×îеÄÍøÂ簲ȫÊÂÎñºÍ·ì϶£¬ÎªÆóÒµµÄÐÅÏ¢°²È«±£¼Ý»¤º½ ¡£

¹Ø×¢ÎÒÃÇ£º

image.png