PHP CGI²ÎÊý×¢Èë·ì϶£¨CVE-2024-4577£© ·ÖÎö
°ä²¼¹¦·ò 2024-06-08Ò»¡¢·ìϼûèÊö
2024Äê6ÔÂ6ÈÕ£¬£¬£¬£¬£¬PHP¹Ù·½°ä²¼Á˶à¸öа汾£¬£¬£¬£¬£¬ÆäÖж¼Ô̺¬¶Ô±àºÅΪCVE-2024-4577µÄ°²È«·ì϶µÄ½¨¸´¸üС£¡£¡£¡£¡£¸Ã·ì϶ÊÇPHP CGIµÄ²ÎÊý×¢Èë·ì϶£¬£¬£¬£¬£¬ÊǶÔCVE-2012-1823·ì϶µÄ½¨¸´Èƹý¡£¡£¡£¡£¡£
¸Ã·ì϶²úÉúµÄÔÒòÊÇ£ºÔÚPHP CGIģʽÏ£¬£¬£¬£¬£¬Î´ÕýÈ·´¦ÖÃWindowsϵͳÖеġ°Best-Fit Mapping¡±¸öÐÔ£¬£¬£¬£¬£¬µ¼Ö¼òÌåÖÐÎÄ¡¢·±ÌåÖÐÎÄ¡¢ÈÕÎÄ»òÆäËûÊÜÓ°Ïì˵»°»·¾³½«Ä³Ð©×Ö·ûÃýÎóµÄ¼ø±ð³ÉÁË'-'¡£¡£¡£¡£¡£¹¥»÷Õß¿Éͨ¹ýÒýÈë¶ñÒâ²ÎÊýʵÏÖËÁÒâ´úÂëÖ´ÐС£¡£¡£¡£¡£
¶þ¡¢·ì϶¸´ÏÖ
ÈçÏÂͼËùʾ£º

Èý¡¢·ì϶·ÖÎö
CVE-2012-1823²¹¶¡µÄ½¨¸´´ëÊ©ÊÇ£¬£¬£¬£¬£¬PHP´¦Öô«µÝ½øÀ´µÄ×Ö·û´®Ê±£¬£¬£¬£¬£¬ÔÚÌø¹ýÇ°Ãæ¿Õȱ·ûºó£¬£¬£¬£¬£¬ÅжϵÚһλÊÇ·ñÊÇ'-'£»£»£»£»£»£»£»£»ÈôÊÇÊÇ'-'£¬£¬£¬£¬£¬¾Í²»ºÏºóÃæµÄ×Ö·û½øÐвÎÊý½âÎö£¬£¬£¬£¬£¬ºÃ±È-d,-s,-cµÈ²ÎÊý¡£¡£¡£¡£¡£
PHP¹Ù·½µÄcommitÈçÏÂͼËùʾ£º

Äܹ»¿´µ½£¬£¬£¬£¬£¬µ±ÔËÐÐϵͳ»·¾³ÎªWindowsʱ£¬£¬£¬£¬£¬PHPŲÓÃWideCharToMultiByteº¯ÊýÀ´¼ÓÇ¿¶Ô¿í×Ö·ûµÄÅжϡ£¡£¡£¡£¡£ÈôÊÇת»»ºóµÄ×Ö·ûΪ'-'£¬£¬£¬£¬£¬Ôò½«skip_getoptÖÃΪ1£¬£¬£¬£¬£¬Ê¹µÃºóÐø¾Í²»»á¶Ô´«ÈëµÄ×Ö·û´®½øÐвÎÊý½âÎö¡£¡£¡£¡£¡£
ÄÇô£¬£¬£¬£¬£¬Ê²Ã´ÑùµÄ¿í×Ö·û¿ÉÄÜת»»ºóÔì³É'-'£¬£¬£¬£¬£¬´Ó¶øÈƹý֮ǰµÄ½¨¸´ÄØ£¿£¿£¿£¿£¿£¿£¿
ÒÔÊÜÓ°ÏìµÄ¼òÌåÖÐÎÄ¡¢·±ÌåÖÐÎÄ¡¢ÈÕÎľÙÀý£¬£¬£¬£¬£¬ËûÃǶÔÓ¦µÄWindows ´úÂëÒ³±ðÀëÊÇ936¡¢950¡¢932¡£¡£¡£¡£¡£ÆäÖж¼Óн«0x00adÓ³ÉäΪ0x002dµÄ²Ù×÷£¬£¬£¬£¬£¬ÈçÏÂͼËùʾ£º



Òò¶øÍ¨¹ýÒýÈë0x00ad¼´¿É´úÌæ0x002d£¬£¬£¬£¬£¬ÊµÏÖ²ÎÊý×¢ÈëÀ´Ö´ÐÐËÁÒâ´úÂë¡£¡£¡£¡£¡£
ËÄ¡¢×ܽá
CVE-2024-4577·ì϶ÀûÓõ¥Ò»£¬£¬£¬£¬£¬·çÏÕÑϳÁ¡£¡£¡£¡£¡£³ö¸ñÔÚijЩ¶ÔApache¡¢PHP½øÐм¯³É²¿ÊðºÍÖÎÀíµÄÊ¢ÐÐÈí¼þÖУ¬£¬£¬£¬£¬ÈôÊÇδÕýÈ·ÅäÖÃphp cgi£¬£¬£¬£¬£¬¼´¿ÉÔì³ÉÑϳÁ·çÏÕ¡£¡£¡£¡£¡£
²Î¿¼Á´½Ó£º
PHP¹Ù·½commit
https://github.com/php/php-src/commit/4dd9a36c165974c84c4217aa41849b70a9fc19c9
DEVCOREµÄ·ì϶´«µÝ
https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability/


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