Django SQL×¢ÈëÎó²îΣº¦Í¨¸æ

Ðû²¼Ê±¼ä 2020-02-13

Îó²î±àºÅºÍ¼¶±ð


CVE±àºÅ£ºCVE-2020-7471£¬£¬£¬Î£ÏÕ¼¶±ð£ºÑÏÖØ£¬£¬£¬CVSS·ÖÖµ£º9.8


Ó°Ïì°æ±¾


Django 1.11.x < 1.11.28

Django 2.2.x < 2.2.10

Django 3.0.x < 3.0.3

Django Ö÷¿ª·¢·ÖÖ§


Îó²î¸ÅÊö


DjangoÊÇDjango»ù½ð»áµÄÒ»Ì×»ùÓÚPythonÓïÑԵĿªÔ´WebÓ¦Óÿò¼Ü¡£¡£¡£¡£ ¡£¸Ã¿ò¼Ü°üÀ¨ÃæÏò¹¤¾ßµÄÓ³ÉäÆ÷¡¢ÊÓͼϵͳ¡¢Ä£°åϵͳµÈ¡£¡£¡£¡£ ¡£


¿ËÈÕ£¬£¬£¬Django¹Ù·½Ðû²¼Ç徲ͨ¸æÐû²¼ÁËÒ»¸öͨ¹ýStringAgg£¨ÍÑÀë·û£©ÊµÏÖʹÓõÄDZÔÚSQL×¢ÈëÎó²î¡£¡£¡£¡£ ¡£¹¥»÷Õß¿Éͨ¹ý½á¹¹ÍÑÀë·ûת´ï¸ø¾ÛºÏº¯Êýcontrib.postgres.aggregates.StringAgg£¬£¬£¬´Ó¶øÈƹýתÒå²¢×¢Èë¶ñÒâSQLÓï¾ä¡£¡£¡£¡£ ¡£


Ïà¹ØÓû§¿Éͨ¹ý°æ±¾¼ì²âµÄÒªÁìÅжÏÄ¿½ñÓ¦ÓÃÊÇ·ñ±£´æÎ£º¦¡£¡£¡£¡£ ¡£ÔÚÏÂÁîÐÐÊäÈë python¡£¡£¡£¡£ ¡£È»ºóÔÚ Python ÌáÐÑ·ûÏÂÊäÈëÏÂÁÐÏÂÁ£¬£¬¿ÉÉó²éÄ¿½ñDjango°æ±¾ÐÅÏ¢¡£¡£¡£¡£ ¡£ÈôDjango°æ±¾ÔÚÊÜÓ°Ïì¹æÄ£ÄÚ£¬£¬£¬ÇÒʹÓõÄÊý¾Ý¿âΪPostgreSQL£¬£¬£¬Ôò±£´æ´ËÎó²îµÄÇ徲Σº¦¡£¡£¡£¡£ ¡£


>>> import django

>>> django.get_version()


»òÕߣ¬£¬£¬´ËÎó²îÊÇÓÉÓھۺϺ¯ÊýStringAggµ¼Ö£¬£¬£¬ÈôDjango°æ±¾ÔÚÊÜÓ°Ïì¹æÄ£ÄÚ£¬£¬£¬ÇÒʹÓÃÁ˸þۺϺ¯Êý£¬£¬£¬Ôò¿ÉÄܱ£´æÇ徲Σº¦¡£¡£¡£¡£ ¡£¿£¿£¿£¿£¿£¿ª·¢Ö°Ô±¿É×ÔÐÐÅŲéÊÇ·ñʹÓÃÁËÏÂÁк¯Êý¡£¡£¡£¡£ ¡£StringAggº¯Êý£¬£¬£¬ÊÇPostgreSQLÊý¾Ý¿âÖн«±í´ïʽÄð³É×Ö·û´®µÄ¾ÛºÏº¯Êý£¬£¬£¬¿ÉʵÏÖ¶àÐÐÆ´½Ó£¬£¬£¬Ó¦ÓÃÆÕ±é¡£¡£¡£¡£ ¡£


django.contrib.postgres.aggregates.StringAgg¡£¡£¡£¡£ ¡£


Îó²îÑéÖ¤


ÔÝÎÞPOC/EXP¡£¡£¡£¡£ ¡£


ÐÞ¸´½¨Òé


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 À´ÊµÏִ˲Ù×÷£º


$ pip install -U Django


°æ±¾¸üвÙ×÷¿É²Î¿¼ÏÂÁÐÁ´½Ó£º


https://docs.djangoproject.com/zh-hans/2.2/howto/upgrade-version


²Î¿¼Á´½Ó


https://www.djangoproject.com/weblog/2020/feb/03/security-releases