WordPress Core SQL×¢Èë·ì϶(CVE-2022¨C21661)·ÖÎö
°ä²¼¹¦·ò 2022-01-25·ì϶¸ÅÊö
WordPressÊÇĿǰȫÇòÊ¢ÐеÄÈý´óÄÚÈÝÖÎÀíϵͳ֮һ£¬£¬ÆäÖ÷ÌâÄ£¿£¿é£¨Core£©³öÏÖ·ì϶µÄÇé¿öÏà¶Ô½ÏÉÙ¡£¡£¡£½üÆÚ£¬£¬WordPressÖ÷ÌâÄ£¿£¿é±»Åû¶´æÔÚÒ»´¦SQL×¢Èë·ì϶(CVE-2022¨C21661)¡£¡£¡£Õë¶Ô¸Ã¸ßΣ·ì϶£¬£¬OG¶«·½ÌüADLab×êÑÐÔ±µÚÒ»¹¦·ò½øÐÐÁ˾ßÌå·ÖÎöºÍÑéÖ¤¡£¡£¡£
ÊÜÓ°Ïì°æ±¾
ÊÜÓ°Ïì°æ±¾£º£ºWordPress < 5.8.3
·ì϶·ÖÎö
ͨ¹ý±ÈÁ¦githubÉϵÄÔ´´úÂ룬£¬Äܹ»·¢ÏÖ·ì϶µÄµØÎ»ÊÇclean_queryº¯Êý¡£¡£¡£ÔÚ5.8.2¼°Ö®Ç°µÄÀϰ汾ÖУ¬£¬¸Ãº¯ÊýµÄ¹Ø¼ü´úÂëÈçÏ¡£¡£¡£

ÔÚclean_queryº¯ÊýÖУ¬£¬µ±´«µÝ½øÀ´µÄ$queryÂú×ãÒÔÏÂÁ½¸öǰÌ᣺£º
$query['taxonomy']Ϊ¿Õ£»£»
$query['filed']µÄÖµµÈÓÚterm_taxonomy_id¡£¡£¡£
WordPressµÄÖ´ÐÐ¾Í»á½øÈë580ÐУ¬£¬Å²ÓÃtransform_queryº¯Êý¡£¡£¡£¸ú½ø¸Ãº¯Êý£¬£¬Âú×ã602ÐУ¬£¬²»×öÈκδëʩֱ½Óreturn£¬£¬Î¬³ÖÁËtermsµÄÖµ²»ÊÜŤת¡£¡£¡£

È«¾ÖËÑË÷clean_query£¬£¬Æä±»get_sql_for_clauseº¯ÊýŲÓᣡ£¡£ÔĶÁ¸Ã²½ÖèµÄ´úÂë¿ÉÖª£¬£¬ËüµÄÖ°ÄÜÊÇΪsql²éÎÊÖеÄǰÌá´´½¨×Ӿ䡣¡£¡£¾ßÌåÀ´Ëµ£¬£¬ËüµÄ¹¤×÷ÊÇ´¦Öýӹܵ½µÄÊý¾Ý£¬£¬½«ÕâЩÊý¾Ý×éºÏ³ÉSQL ²éÎÊÖеÄǰÌᣬ£¬¶øºó½«Æä·µ»Ø¸ø¸¸º¯Êý¡£¡£¡£ËùÒÔ£¬£¬ÈôÊÇÄܹ»½ÚÖÆclean_queryµÄ·µ»ØÊý¾Ý£¬£¬¾ÍÄܹ»½ÚÖÆSQL²éÎʽøÐÐ×¢Èë¡£¡£¡£
ÔÚget_sql_for_clauseÖÐÄܹ»ÕÒµ½$terms±äÁ¿±»Æ´½Óµ½sqlÓï¾äÖС£¡£¡£

´Óget_sql_for_clause²½Öè³ÖÐø»ØËÝ£¬£¬Å²ÓÃÕ»ÈçÏ£º£º

ÔÚget_posts()ÖÐÄܹ»ÕÒµ½¶ÔWQ_Tax_Query->get_sql()µÄŲÓᣡ£¡£

ͨ¹ý»ØËÝŲÓÃÕ»¿ÉÖª£¬£¬Í¨¹ý½ÚÖÆWP_Query->__construct()ÖеÄÊôÐÔ£¬£¬¾ÍÄܹ»Ôì³Ésql×¢Èë¡£¡£¡£
·ì϶¸´ÏÖ
ͨ¹ý¶ÈÎöWordPressµÄÔ´Âë·¢ÏÖ£¬£¬WordPressÖ÷Ìâ´úÂëÖв»´æÔÚÄܹ»´¥·¢¸Ã·ì϶µÄŲÓõ㡣¡£¡£ÎªÁËÑéÖ¤¸Ã·ì϶£¬£¬ÕâÀïʹÓÃÁËEle Custom Skin²å¼þ×ö·ì϶¸´ÏÖ£¬£¬ÕâÒ²ÊÇZDI¸ø³öµÄ´æÔÚ²úÉú·ì϶ŲÓõIJå¼þÑùÀý¡£¡£¡£
EleCustom Skin²å¼þ×°ÖÃÁ¿ÔÚ10ÍòÒÔÉÏ£¬£¬ÇÒÆä´æÔڵķì϶ŲÓÃÊÇÎÞÐèµÇ¼µÄ¡£¡£¡£¸Ã²å¼þ´æÔÚ²½Öèget_document_data()£¬£¬ÆäÖ÷Ìâ´úÂëÈçÏ£º£º

È«¾ÖËÑË÷get_document_data£¬£¬¸Ã²½Öè±»×¢²áµÄactionÃû×ÖÈçÏ¡£¡£¡£

Òò¶ø£¬£¬¸Ã·ì϶ÔÚÕâ¸ö²å¼þÊÇ´æÔÚ´¥·¢õè¾¶µÄ¡£¡£¡£¿£¿ªÆôdebugÖ°Äܺ󣬣¬»ú¹Ø±¨Îļ´¿É³É¹¦×¢Èë³öÊý¾Ý¿âuser¡£¡£¡£

Ê¢Ðвå¼þ·ÖÎö
ΪÁË·ÖÎö¸Ã·ì϶µÄÏÖʵӰÏ죬£¬ADLab×êÑÐÔ±»¹¶ÔWordPressǰ100¸öÊ¢Ðвå¼þ½øÐÐÁË·ÖÎö£¬£¬·¢ÏÖÆäÖÐ2¸ö²å¼þÒ²´æÔڸ÷ì϶¡£¡£¡£
¿ªÆôdebug£¬£¬»ú¹Ø±¨Îļ´¿É³É¹¦×¢Èë³öÊý¾Ý¿âuser¡£¡£¡£
ÐÞ¸´¹æ»®
ĿǰWordPressÒѰ䲼Éý¼¶²¹¶¡ÒÔÐÞ¸´·ì϶£¬£¬²¹¶¡»ñÈ¡Á´½ÓÈçÏ£º£º
https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-6676-cqfm-gw84
²Î¿¼Á´½Ó£º£º
https://www.zerodayinitiative.com/blog/2022/1/18/cve-2021-21661-exposing-database-info-via-wordpress-sql-injection


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