diff --git a/src/pretix/base/exporters/orderlist.py b/src/pretix/base/exporters/orderlist.py index 85b89583da..e35a2bdd35 100644 --- a/src/pretix/base/exporters/orderlist.py +++ b/src/pretix/base/exporters/orderlist.py @@ -1,9 +1,9 @@ -import csv import io from collections import OrderedDict from decimal import Decimal import pytz +from defusedcsv import csv from django import forms from django.db.models import Sum from django.dispatch import receiver diff --git a/src/pretix/control/views/vouchers.py b/src/pretix/control/views/vouchers.py index 48060381b4..5d05417792 100644 --- a/src/pretix/control/views/vouchers.py +++ b/src/pretix/control/views/vouchers.py @@ -1,6 +1,6 @@ -import csv import io +from defusedcsv import csv from django.conf import settings from django.contrib import messages from django.core.urlresolvers import resolve, reverse diff --git a/src/pretix/plugins/checkinlists/exporters.py b/src/pretix/plugins/checkinlists/exporters.py index 77966dcbd8..d403c728f0 100644 --- a/src/pretix/plugins/checkinlists/exporters.py +++ b/src/pretix/plugins/checkinlists/exporters.py @@ -1,7 +1,7 @@ -import csv import io from collections import OrderedDict +from defusedcsv import csv from django import forms from django.db.models.functions import Coalesce from django.utils.translation import ugettext as _, ugettext_lazy diff --git a/src/requirements/production.txt b/src/requirements/production.txt index 35ef7b715e..783b25c694 100644 --- a/src/requirements/production.txt +++ b/src/requirements/production.txt @@ -41,3 +41,4 @@ chardet<3.1.0,>=3.0.2 mt-940==3.2 vobject==0.9.* pycountry +defusedcsv>=1.0.1 diff --git a/src/setup.py b/src/setup.py index e623978757..6711db13cb 100644 --- a/src/setup.py +++ b/src/setup.py @@ -102,7 +102,8 @@ setup( 'mt-940==4.7', 'django-i18nfield>=1.0.1', 'vobject==0.9.*', - 'pycountry' + 'pycountry', + 'defusedcsv' ], extras_require={ 'dev': [