diff --git a/src/pretix/base/exporters/orderlist.py b/src/pretix/base/exporters/orderlist.py index 85b89583d..e35a2bdd3 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 48060381b..5d0541779 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 77966dcbd..d403c728f 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 35ef7b715..783b25c69 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 e62397875..6711db13c 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': [