¡¾·ì϶¹«¸æ¡¿CactiºÅÁî×¢Èë·ì϶£¨CVE-2022-46169£©
°ä²¼¹¦·ò 2022-12-070x00 ·ì϶¸ÅÊö
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 ¸½Â¼
GA»Æ½ð¼×¼ò½é
GA»Æ½ð¼×³ÉÁ¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°GA»Æ½ð¼×´óÏ㬹«Ë¾Ô±¹¤6000ÓàÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊÓ×¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬Õ¼Óи²¸ÇÈ«¹úµÄÏúÊÛϵͳ¡¢Çþ·ϵͳºÍ¼¼ÊõÖ§³Öϵͳ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐÓ×°å¹ÒÅÆÉÏÊС££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬GA»Æ½ð¼×ÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£
¹ØÓÚGA»Æ½ð¼×
GA»Æ½ð¼×°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÖØÒªÕë¶Ô³ÁÒª°²È«·ì϶µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвµý±¨ºÍ°²È«»ã±¨¡£
¹Ø×¢ÒÔϹ«¼ÒºÅ£¬»ñȡȫÇò×îа²È«×ÊѶ£º



¾©¹«Íø°²±¸11010802024551ºÅ