mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
Fixed a possible timing attack channel
This commit is contained in:
@@ -34,10 +34,17 @@ class OrderDetailMixin:
|
|||||||
@cached_property
|
@cached_property
|
||||||
def order(self):
|
def order(self):
|
||||||
try:
|
try:
|
||||||
return Order.objects.get(secret=self.kwargs['secret'],
|
order = Order.objects.get(event=self.request.event, code=self.kwargs['order'])
|
||||||
event=self.request.event, code=self.kwargs['order'])
|
if order.secret.lower() == self.kwargs['secret'].lower():
|
||||||
|
return order
|
||||||
|
else:
|
||||||
|
return None
|
||||||
except Order.DoesNotExist:
|
except Order.DoesNotExist:
|
||||||
return None
|
# Do a comparison as well to harden timing attacks
|
||||||
|
if 'abcdefghijklmnopq'.lower() == self.kwargs['secret'].lower():
|
||||||
|
return None
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def payment_provider(self):
|
def payment_provider(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user