Django SQL×¢ÈëÎó²î£¨CVE-2020-7471£©Íþвͨ¸æ
2020-02-13
Îó²î¸ÅÊö
2ÔÂ3ÈÕ£¬Django ¹Ù·½Ðû²¼Ç徲ͨ¸æÐû²¼ÁËÒ»¸öͨ¹ýStringAgg£¨ÍÑÀë·û£©ÊµÏÖʹÓõÄDZÔÚSQL×¢ÈëÎó²î£¨CVE-2020-7471£©¡£¹¥»÷Õß¿Éͨ¹ý½á¹¹ÍÑÀë·ûת´ï¸ø¾ÛºÏº¯Êýcontrib.postgres.aggregates.StringAgg£¬´Ó¶øÈƹýתÒå²¢×¢Èë¶ñÒâSQLÓï¾ä¡£
DjangoÊǸßË®×¼µÄÓÉPython±à³ÌÓïÑÔÇý¶¯µÄÒ»¸ö¿ªÔ´WebÓ¦ÓóÌÐò¿ò¼Ü£¬ÆðÔ´ÓÚ¿ªÔ´ÉçÇø¡£Ê¹ÓÃDjango£¬³ÌÐòÔ±¿ÉÒÔÀû±ã¡¢¿ì½ÝµØ½¨Éè¸ßÆ·ÖÊ¡¢Ò×ά»¤¡¢Êý¾Ý¿âÇý¶¯µÄÓ¦ÓóÌÐò£¬Ó¦ÓÃÆÕ±é¡£2ÔÂ11ÈÕ£¬¾ÅÓÎÀÏ¸ç¿Æ¼¼¼à²â·¢Ã÷´ËÎó²îPoCÒѹûÕæ£¬ÇëÏà¹ØÓû§¾¡¿ìÉý¼¶DjangoÖÁÐÞ¸´°æ±¾£¬ÐÞ¸´´ËÎó²î¡£
CVSS3.1ÆÀ·Ö£º9.8
²Î¿¼Á´½Ó£º https://www.djangoproject.com/weblog/2020/feb/03/security-releases
Ó°Ïì¹æÄ£
ÊÜÓ°Ïì°æ±¾£º
- 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
Îó²î¼ì²â
°æ±¾¼ì²â
Ïà¹ØÓû§¿Éͨ¹ý°æ±¾¼ì²âµÄÒªÁìÅжÏÄ¿½ñÓ¦ÓÃÊÇ·ñ±£´æÎ£º¦¡£ ÔÚÏÂÁîÐÐÊäÈëpython¡£ È»ºóÔÚ Python ÌáÐÑ·ûÏÂÊäÈëÏÂÁÐÏÂÁ¿ÉÉó²éÄ¿½ñʹÓõÄDjango°æ±¾ÐÅÏ¢£º
|
1
2
|
import django
django.get_version()
|
×¢£ºÈôDjango°æ±¾ÔÚÊÜÓ°Ïì¹æÄ£ÄÚ£¬ÇÒʹÓõÄÊý¾Ý¿âΪPostgreSQL£¬Ôò±£´æ´ËÎó²îµÄÇ徲Σº¦¡£
´úÂëÉó¼Æ
´ËÎó²îÊÇÓÉÓھۺϺ¯ÊýStringAggµ¼Ö£¬ÈôDjango°æ±¾ÔÚÊÜÓ°Ïì¹æÄ£ÄÚ£¬ÇÒʹÓÃÁ˸þۺϺ¯Êý£¬Ôò¿ÉÄܱ£´æÇ徲Σº¦¡£¿ª·¢Ö°Ô±¿É×ÔÐÐÅŲéÊÇ·ñʹÓÃÁËÏÂÁк¯Êý£º
|
1
|
django.contrib.postgres.aggregates.StringAgg
|
PS£ºStringAggº¯Êý£¬ÊÇPostgreSQLÊý¾Ý¿âÖн«±í´ïʽÄð³É×Ö·û´®µÄ¾ÛºÏº¯Êý£¬¿ÉʵÏÖ¶àÐÐÆ´½Ó£¬Ó¦ÓÃÆÕ±é¡£
Îó²î·À»¤
¹Ù·½Éý¼¶
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
ÈôʹÓà pip ×°Öà Django£¬¿Éͨ¹ý –upgrade »ò -U À´ÊµÏִ˲Ù×÷£º
|
1
|
$ pip install -U Django
|
°æ±¾¸üвÙ×÷¿É²Î¿¼ÏÂÁÐÁ´½Ó£º
https://docs.djangoproject.com/zh-hans/2.2/howto/upgrade-version
ÉùÃ÷
±¾Ç徲ͨ¸æ½öÓÃÀ´ÐÎò¿ÉÄܱ£´æµÄÇå¾²ÎÊÌ⣬¾ÅÓÎÀÏ¸ç¿Æ¼¼²»Îª´ËÇ徲ͨ¸æÌṩÈκΰü¹Ü»òÔÊÐí¡£ÓÉÓÚÈö²¥¡¢Ê¹ÓôËÇ徲ͨ¸æËùÌṩµÄÐÅÏ¢¶øÔì³ÉµÄÈκÎÖ±½Ó»òÕß¼ä½ÓµÄЧ¹û¼°Ëðʧ£¬¾ùÓÉʹÓÃÕß×Ô¼ºÈÏÕæ£¬¾ÅÓÎÀÏ¸ç¿Æ¼¼ÒÔ¼°Ç徲ͨ¸æ×÷Õß²»Îª´Ë¼ç¸ºÈκÎÔðÈΡ£
¾ÅÓÎÀÏ¸ç¿Æ¼¼ÓµÓжԴËÇ徲ͨ¸æµÄÐÞ¸ÄÏ¢ÕùÊÍȨ¡£ÈçÓû×ªÔØ»òÈö²¥´ËÇ徲ͨ¸æ£¬±ØÐè°ü¹Ü´ËÇ徲ͨ¸æµÄÍêÕûÐÔ£¬°üÀ¨°æÈ¨ÉùÃ÷µÈËùÓÐÄÚÈÝ¡£Î´¾¾ÅÓÎÀÏ¸ç¿Æ¼¼ÔÊÐí£¬²»µÃí§ÒâÐ޸ĻòÕßÔö¼õ´ËÇ徲ͨ¸æÄÚÈÝ£¬²»µÃÒÔÈκη½·¨½«ÆäÓÃÓÚÉÌҵĿµÄ¡£
¹ØÓÚ¾ÅÓÎÀÏ¸ç¿Æ¼¼
±±¾©ÉñÖݾÅÓÎÀϸçÐÅÏ¢Çå¾²¿Æ¼¼¹É·ÝÓÐÏÞ¹«Ë¾£¨¼ò³Æ¾ÅÓÎÀÏ¸ç¿Æ¼¼£©½¨ÉèÓÚ2000Äê4Ô£¬×ܲ¿Î»ÓÚ±±¾©¡£ÔÚº£ÄÚÍâÉèÓÐ30¶à¸ö·ÖÖ§»ú¹¹£¬ÎªÕþ¸®¡¢ÔËÓªÉÌ¡¢½ðÈÚ¡¢ÄÜÔ´¡¢»¥ÁªÍøÒÔ¼°½ÌÓý¡¢Ò½ÁƵÈÐÐÒµÓû§£¬Ìṩ¾ßÓн¹µã¾ºÕùÁ¦µÄÇå¾²²úÆ·¼°½â¾ö¼Æ»®£¬×ÊÖú¿Í»§ÊµÏÖÓªÒµµÄÇ徲˳³©ÔËÐС£
»ùÓÚ¶àÄêµÄÇå¾²¹¥·ÀÑо¿£¬¾ÅÓÎÀÏ¸ç¿Æ¼¼ÔÚÍøÂç¼°ÖÕ¶ËÇå¾²¡¢»¥ÁªÍø»ù´¡Çå¾²¡¢ºÏ¹æ¼°Çå¾²ÖÎÀíµÈÁìÓò£¬Îª¿Í»§ÌṩÈëÇÖ¼ì²â/·À»¤¡¢¿¹¾Ü¾ø·þÎñ¹¥»÷¡¢Ô¶³ÌÇå¾²ÆÀ¹ÀÒÔ¼°WebÇå¾²·À»¤µÈ²úÆ·ÒÔ¼°×¨ÒµÇå¾²·þÎñ¡£
±±¾©ÉñÖݾÅÓÎÀϸçÐÅÏ¢Çå¾²¿Æ¼¼¹É·ÝÓÐÏÞ¹«Ë¾ÓÚ2014Äê1ÔÂ29ÈÕÆðÔÚÉîÛÚ֤ȯÉúÒâËù´´Òµ°åÉÏÊУ¬¹ÉƱ¼ò³Æ£º¾ÅÓÎÀÏ¸ç¿Æ¼¼£¬¹ÉƱ´úÂ룺300369¡£

¾ÅÓÎÀϸçÔÆ





