¡¾Îó²îͨ¸æ¡¿CactiÏÂÁî×¢ÈëÎó²î£¨CVE-2022-46169£©

Ðû²¼Ê±¼ä 2022-12-07

0x00 Îó²î¸ÅÊö

CVE   ID

CVE-2022-46169

·¢Ã÷ʱ¼ä

2022-12-06

Àà    ÐÍ

ÏÂÁî×¢Èë

µÈ    ¼¶

ÑÏÖØ

Ô¶³ÌʹÓÃ

ÊÇ

Ó°Ïì¹æÄ£


¹¥»÷ÖØÆ¯ºó

µÍ

Óû§½»»¥

ÎÞ

PoC/EXP


ÔÚҰʹÓÃ


 

0x01 Îó²îÏêÇé

Cacti ÊÇÒ»¸ö¿ªÔ´ÏîÄ¿£¬£¬£¬£¬£¬£¬£¬ £¬¿ÉΪÓû§Ìṩһ¸öǿʢÇÒ¿ÉÀ©Õ¹µÄ²Ù×÷¼à¿ØºÍ¹ÊÕÏÖÎÀí¿ò¼Ü¡£¡£¡£¡£¡£

12ÔÂ6ÈÕ£¬£¬£¬£¬£¬£¬£¬ £¬CactiÏîÄ¿Ðû²¼Ç徲ͨ¸æ£¬£¬£¬£¬£¬£¬£¬ £¬ÐÞ¸´ÁËCactiÖеÄÒ»¸öÏÂÁî×¢ÈëÎó²î£¨CVE-2022-46169£©£¬£¬£¬£¬£¬£¬£¬ £¬¸ÃÎó²îµÄCVSSv3ÆÀ·ÖΪ9.8£¬£¬£¬£¬£¬£¬£¬ £¬ÏÖÔÚÎó²îϸ½ÚÒѹûÕæ¡£¡£¡£¡£¡£

CVE-2022-46169Îó²îÔ´ÓÚCacti v1.2.22°æ±¾ÖеÄremote_agent.phpÎļþ£¬£¬£¬£¬£¬£¬£¬ £¬ÈôÊÇÉèÖÃÁËactionÀàÐÍΪPOLLER_ACTION_SCRIPT_PHPµÄpoller_item£¬£¬£¬£¬£¬£¬£¬ £¬Ôòproc_openº¯ÊýÓÃÓÚÖ´ÐÐPHP¾ç±¾£¬£¬£¬£¬£¬£¬£¬ £¬¿Éͨ¹ý²ÎÊý$poller_idת´ïí§Òâ×Ö·û´®£¬£¬£¬£¬£¬£¬£¬ £¬µ¼ÖÂÏÂÁî×¢ÈëÎó²î¡£¡£¡£¡£¡£ÀÖ³ÉʹÓøÃÎó²î¿ÉÄܵ¼ÖÂδ¾­Éí·ÝÑéÖ¤µÄÓû§ÔÚÔËÐÐ Cacti µÄЧÀÍÆ÷ÉÏÖ´ÐÐí§ÒâÏÂÁî¡£¡£¡£¡£¡£

 

Ó°Ïì¹æÄ£

Cacti °æ±¾ v1.2.22

 

0x02 Çå¾²½¨Òé

ÏÖÔÚ¸ÃÎó²îÒѾ­ÐÞ¸´£¬£¬£¬£¬£¬£¬£¬ £¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½Cacti °æ±¾1.2.23»ò1.3.0¡£¡£¡£¡£¡£

ÏÂÔØÁ´½Ó£º

https://github.com/Cacti/cacti/tags

×¢£ºCactiÒÑÐû²¼¸ÃÎó²îµÄ²¹¶¡£¬£¬£¬£¬£¬£¬£¬ £¬µ«²¹¶¡¸üа汾1.2.23ºÍ1.3.0ÏÖÔÚÔÝδÐû²¼£¬£¬£¬£¬£¬£¬£¬ £¬Ïà¹Ø²¹¶¡Á´½Ó¼°Îó²îϸ½ÚÏê¼û¹Ù·½Í¨¸æ£º

https://github.com/Cacti/cacti/security/advisories/GHSA-6p93-p743-35gf

»º½â²½·¥£º

1.ͨ¹ý²»ÔÊÐíʹlib/functions.php ÎļþÖÐµÄ get_client_addrº¯Êý·µ»Øí§ÒâIPµØµãÀ´±ÜÃâÊÚÈ¨ÈÆ¹ý£¬£¬£¬£¬£¬£¬£¬ £¬Õâ¿ÉÒÔͨ¹ý²»×ñÊØHTTP_¡­$_SERVER±äÁ¿À´ÊµÏÖ¡£¡£¡£¡£¡£ÈôÊdzöÓÚ¼æÈÝÐÔÔµ¹ÊÔ­ÓÉÓ¦±£´æÕâЩ£¬£¬£¬£¬£¬£¬£¬ £¬ÖÁÉÙÓ¦¸Ã±ÜÃâαÔìÔËÐÐ Cacti µÄЧÀÍÆ÷µÄ IP µØµã¡£¡£¡£¡£¡£

2.ͨ¹ý¸ü¸Äremote_agent.phpÎļþÀ´±ÜÃâÏÂÁî×¢È룬£¬£¬£¬£¬£¬£¬ £¬¼ìË÷$poller_id²ÎÊýʱʹÓÃget_filter_request_varº¯ÊýÈ¡´úget_nfilter_request_var£º

function poll_for_data() {

       // ...

           $poller_id  = get_filter_request_var('poller_id');

           // ...

3.ÔÚ½«²ÎÊý$poller_idת´ï¸øproc_openº¯Êý֮ǰ£¬£¬£¬£¬£¬£¬£¬ £¬Ó¦Ê¹ÓÃescapeshellarg¾ÙÐÐתÒ壺

function poll_for_data() {

// ...

$cactiphp = proc_open(read_config_option('path_php_binary') . ' -q ' . $config['base_path'] . '/script_server.php realtime ' . escapeshellarg($poller_id), $cactides, $pipes);

// ...

 

0x03 ²Î¿¼Á´½Ó

https://github.com/Cacti/cacti/security/advisories/GHSA-6p93-p743-35gf

https://github.com/Cacti/cacti

 

0x04 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

ÐÞ¸ÄÄÚÈÝ

V1.0

2022-12-07

Ê×´ÎÐû²¼

 

0x05 ¸½Â¼

ÍòÀû¹ú¼Ê¹ÙÍø¼ò½é

ÍòÀû¹ú¼Ê¹ÙÍø½¨ÉèÓÚ1996Ä꣬£¬£¬£¬£¬£¬£¬ £¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£¡£¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Ç徲ЧÀͽâ¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£¡£¡£

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

¶àÄêÀ´£¬£¬£¬£¬£¬£¬£¬ £¬ÍòÀû¹ú¼Ê¹ÙÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬£¬£¬£¬£¬£¬ £¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬£¬£¬£¬£¬ £¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£¡£¡£


¹ØÓÚÍòÀû¹ú¼Ê¹ÙÍø

ÍòÀû¹ú¼Ê¹ÙÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£¡£¡£

¹Ø×¢ÒÔϹ«Öںţ¬£¬£¬£¬£¬£¬£¬ £¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º

image.png