¡¾Íþвͨ¸æ¡¿Django SQL×¢ÈëÎó²î(CVE-2020-7471)
2020-02-13
×ÛÊö
¿ËÈÕ£¬Django ¹Ù·½Ðû²¼Ç徲ͨ¸æÐû²¼ÁËÒ»¸öͨ¹ýStringAgg£¨ÍÑÀë·û£©µÄDZÔÚSQL×¢ÈëÎó²î£¨CVE-2020-7471£©¡£
ÈôÊǽ«²»ÊÜÐÅÍеÄÊý¾ÝÓÃ×÷StringAggÍÑÀë·û£¬Ôò²¿·Ö°æ±¾µÄ Django½«ÔÊÐíSQL×¢Èë¡£
ͨ¹ý½«È«ÐÄÉè¼ÆµÄÍÑÀë·ûת´ï¸øcontrib.postgres.aggregates.StringAggʵÀý£¬¿ÉÒÔÍ»ÆÆ×ªÒå²¢×¢Èë¶ñÒâSQL¡£
ÏÖÔÚÒѱ£´æÕë¶Ô¸ÃÎó²îµÄ PoC¡£
ÊÜÓ°Ïì²úÆ·°æ±¾
- Django 1.11.x < 1.11.28
- Django 2.2.x < 2.2.10
- Django 3.0.x < 3.0.3
- Django Ö÷¿ª·¢·ÖÖ§
²»ÊÜÓ°Ïì²úÆ·°æ±¾
- Django 1.11.28
- Django 2.2.10
- Django 3.0.3
½â¾ö¼Æ»®
Django ¹Ù·½ÒѾÐû²¼Ð°汾ÐÞ¸´ÁËÉÏÊöÎó²î£¬ÇëÊÜÓ°ÏìµÄÓû§¾¡¿ìÉý¼¶¾ÙÐзÀ»¤¡£
Django 1.11.28ÏÂÔØµØµã£º
https://www.djangoproject.com/m/releases/1.11/Django-1.11.28.tar.gz
Django 2.2.10 ÏÂÔØµØµã
https://www.djangoproject.com/m/releases/2.2/Django-2.2.10.tar.gz
Django 3.0.3ÏÂÔØµØµã£º
https://www.djangoproject.com/m/releases/3.0/Django-3.0.3.tar.gz
²Î¿¼Á´½Ó£º
https://www.djangoproject.com/weblog/2020/feb/03/security-releases/
Éù Ã÷
±¾Ç徲ͨ¸æ½öÓÃÀ´ÐÎò¿ÉÄܱ£´æµÄÇå¾²ÎÊÌ⣬¾ÅÓÎÀÏ¸ç¿Æ¼¼²»Îª´ËÇ徲ͨ¸æÌṩÈκΰü¹Ü»òÔÊÐí¡£ÓÉÓÚÈö²¥¡¢Ê¹ÓôËÇ徲ͨ¸æËùÌṩµÄÐÅÏ¢¶øÔì³ÉµÄÈκÎÖ±½Ó»òÕß¼ä½ÓµÄЧ¹û¼°Ëðʧ£¬¾ùÓÉʹÓÃÕß×Ô¼ºÈÏÕæ£¬¾ÅÓÎÀÏ¸ç¿Æ¼¼ÒÔ¼°Ç徲ͨ¸æ×÷Õß²»Îª´Ë¼ç¸ºÈκÎÔðÈΡ£¾ÅÓÎÀÏ¸ç¿Æ¼¼ÓµÓжԴËÇ徲ͨ¸æµÄÐÞ¸ÄÏ¢ÕùÊÍȨ¡£ÈçÓû×ªÔØ»òÈö²¥´ËÇ徲ͨ¸æ£¬±ØÐè°ü¹Ü´ËÇ徲ͨ¸æµÄÍêÕûÐÔ£¬°üÀ¨°æÈ¨ÉùÃ÷µÈËùÓÐÄÚÈÝ¡£Î´¾¾ÅÓÎÀÏ¸ç¿Æ¼¼ÔÊÐí£¬²»µÃí§ÒâÐ޸ĻòÕßÔö¼õ´ËÇ徲ͨ¸æÄÚÈÝ£¬²»µÃÒÔÈκη½·¨½«ÆäÓÃÓÚÉÌҵĿµÄ¡£
¹ØÓÚ¾ÅÓÎÀÏ¸ç¿Æ¼¼
±±¾©ÉñÖݾÅÓÎÀϸçÐÅÏ¢Çå¾²¿Æ¼¼¹É·ÝÓÐÏÞ¹«Ë¾£¨¼ò³Æ¾ÅÓÎÀÏ¸ç¿Æ¼¼£©½¨ÉèÓÚ2000Äê4Ô£¬×ܲ¿Î»ÓÚ±±¾©¡£ÔÚº£ÄÚÍâÉèÓÐ30¶à¸ö·ÖÖ§»ú¹¹£¬ÎªÕþ¸®¡¢ÔËÓªÉÌ¡¢½ð ÈÚ¡¢ÄÜÔ´¡¢»¥ÁªÍøÒÔ¼°½ÌÓý¡¢Ò½ÁƵÈÐÐÒµÓû§£¬Ìṩ¾ßÓн¹µã¾ºÕùÁ¦µÄÇå¾²²úÆ·¼°½â¾ö¼Æ»®£¬×ÊÖú¿Í»§ÊµÏÖÓªÒµµÄÇ徲˳³©ÔËÐС£
»ùÓÚ¶àÄêµÄÇå¾²¹¥·ÀÑо¿£¬¾ÅÓÎÀÏ¸ç¿Æ¼¼ÔÚÍøÂç¼°ÖÕ¶ËÇå¾²¡¢»¥ÁªÍø»ù´¡Çå¾²¡¢ºÏ¹æ¼°Çå¾²ÖÎÀíµÈÁìÓò£¬Îª¿Í»§ÌṩÈëÇÖ¼ì²â/·À»¤¡¢¿¹¾Ü¾ø·þÎñ¹¥»÷¡¢Ô¶³ÌÇå¾²ÆÀ¹ÀÒÔ¼°WebÇå¾²·À»¤µÈ²úÆ·ÒÔ¼°×¨ÒµÇå¾²·þÎñ¡£
±±¾©ÉñÖݾÅÓÎÀϸçÐÅÏ¢Çå¾²¿Æ¼¼¹É·ÝÓÐÏÞ¹«Ë¾ÓÚ2014Äê1ÔÂ29ÈÕÆðÔÚÉîÛÚ֤ȯÉúÒâËù´´Òµ°åÉÏÊУ¬¹ÉƱ¼ò³Æ£º¾ÅÓÎÀÏ¸ç¿Æ¼¼£¬¹ÉƱ´úÂ룺300369¡£

¾ÅÓÎÀϸçÔÆ







