¡¾·ì϶¹«¸æ¡¿Ollamaõè¾¶±éÀú´úÂëÖ´Ðзì϶£¨CVE-2024-37032£©

°ä²¼¹¦·ò 2024-06-28


Ò»¡¢·ì϶¸ÅÊö

·ìϼûû³Æ

Ollamaõè¾¶±éÀú´úÂëÖ´Ðзì϶

CVE   ID

CVE-2024-37032

·ì϶ÀàÐÍ

õè¾¶±éÀú¡¢RCE

·¢ÏÖ¹¦·ò

2024-06-25

·ì϶ÆÀ·Ö

9.1

·ì϶µÈ¼¶

ÑϳÁ

¹¥»÷ÏòÁ¿

ÍøÂç

ËùÐèȨÏÞ

ÎÞ

ÀûÓÃÄѶÈ

µÍ

Óû§½»»¥

ÎÞ

PoC/EXP

Òѹ«¿ª

ÔÚÒ°ÀûÓÃ

ÒÑ·¢ÏÖ

 

OllamaÊÇÒ»¸öÖ°ÄÜ׳´ó¡¢Ò×ÓÚʹÓÃÇÒÖ§³Ö¶àÖÖ´óÐÍ˵»°Ä£Ðͺͻúе½ø½¨¿ò¼ÜµÄ¿ªÔ´¿ò¼Ü £¬Ëü¼«´óµØ¼ò»¯ÁË´óÐÍ˵»°Ä£ÐÍÔÚ±¾µØ²¿ÊðºÍÖÎÀíµÄ¹ý³Ì £¬Îª×êÑкͿª·¢ÈËÔ±ÌṩÁ˼«´óµÄ·½±ã¡£

2024Äê6ÔÂ25ÈÕ £¬GA»Æ½ð¼×¼¯ÍÅVSRC¼à²âµ½Ollamaõè¾¶±éÀú´úÂëÖ´Ðзì϶£¨CVE-2024-37032 £¬±»³ÆÎªProbllama£©µÄ¼¼Êõϸ½ÚÔÚ»¥ÁªÍøÉϹ«¿ª £¬¸Ã·ì϶µÄCVSSv3ÆÀ·ÖΪ9.1 £¬Ä¿Ç°PoCÒѾ­¹«¿ªÅû¶¡£

Ollama 0.1.34֮ǰÔÚ»ñȡģÐÍʱ£¨Í¨¹ý²éÎÊapi/pull¶Ëµã£© £¬ÓÉÓÚ¶Ôdigest ×ֶβ»×ãÊʵ±ÑéÖ¤ £¬ÍþвÕß¿ÉÌṩÔÚdigest×Ö¶ÎÖÐÔ̺¬õè¾¶±éÀúpayloadµÄ¶ñÒâÇåµ¥Îļþ £¬ÀûÓø÷ì϶ʵÏÖËÁÒâÎļþ¶ÁÈ¡/дÈë»òµ¼ÖÂÔ¶³Ì´úÂëÖ´ÐС£

  

¶þ¡¢·ì϶¸´ÏÖ

image.png

 


Èý¡¢Ó°ÏìÁìÓò

Ollama < 0.1.34

 


ËÄ¡¢°²È«´ëÊ©

4.1 Éý¼¶°æ±¾

Ŀǰ¸Ã·ì϶ÒѾ­½¨¸´ £¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½Ollama 0.1.34 »ò¸ü¸ß°æ±¾¡£

ÏÂÔØÁ´½Ó£º

https://ollama.com/

4.2 һʱ´ëÊ©

¸Ã·ì϶¶ÔÓÚDocker ×°ÖÃÓ°ÏìÓÈÆäÑϳÁ £¬ÓÉÓÚ·þÎñÆ÷ÒÔrootȨÏÞÔËÐв¢Ä¬ÈϽøÐмàÌý0.0.0.0 £¬ÕâʹµÃ¸Ã·ì϶Äܹ»±»Ô¶³ÌÀûÓá£

´Ë±í £¬Í¨³£Çé¿öÏÂOllamaûÓÐÉí·ÝÑéÖ¤ £¬½¨Òé²»ÒªÔÚûÓÐÈκÎÉí·ÝÑéÖ¤µÄÇé¿ö϶³öÔÚ»¥ÁªÍøÉÏ¡£ÈôÊDZØÒªÔÚ»¥ÁªÍøÉϹ«¿ª½Ó¼û £¬¿É½«Ollama ²¿ÊðÔÚ·´Ïò´úÀíºóÒÔÇ¿ÔìÖ´ÐÐÉí·ÝÑéÖ¤¡£

4.3 ͨÓý¨Òé

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

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

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

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

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

4.4 ²Î¿¼Á´½Ó

https://github.com/ollama/ollama/pull/4175

https://nvd.nist.gov/vuln/detail/CVE-2024-37032

https://www.wiz.io/blog/probllama-ollama-vulnerability-cve-2024-37032#the-vulnerability-arbitrary-file-write-via-path-traversal-25

  

Îå¡¢°æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

±¸×¢

V1.0

2024-06-28

³õ´Î°ä²¼

 

 

Áù¡¢¸½Â¼

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

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

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

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

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

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

¹Ø×¢ÎÒÃÇ£º

image.png