Skip to content

Commit 4c6789a

Browse files
committed
Merge branch 'security-session-set' into 'main'
Do not allow setting arbitrary session data See merge request pretix/pretix-payone!2
2 parents e9029f1 + 1a182f6 commit 4c6789a

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

pretix_payone/payment.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ def redirect(self, request, url):
580580
],
581581
},
582582
},
583-
salt="safe-redirect",
583+
salt="plugins:payone:redirect:safe-redirect-data",
584584
)
585585
)
586586
else:

pretix_payone/views.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,18 @@
2828
@xframe_options_exempt
2929
def redirect_view(request, *args, **kwargs):
3030
try:
31-
data = signing.loads(request.GET.get("data", ""), salt="safe-redirect")
31+
data = signing.loads(
32+
request.GET.get("data", ""),
33+
salt="plugins:payone:redirect:safe-redirect-data",
34+
)
3235
except signing.BadSignature:
3336
return HttpResponseBadRequest("Invalid parameter")
3437

3538
if "go" in request.GET:
3639
if "session" in data:
3740
for k, v in data["session"].items():
38-
request.session[k] = v
41+
if k.startswith("payment_payone_"):
42+
request.session[k] = v
3943
return redirect(data["url"])
4044
else:
4145
params = request.GET.copy()

0 commit comments

Comments
 (0)