Fixes a redirect vulnerability when the user opens the pgAdmin URL. Fixes #5343

This commit is contained in:
Aditya Toshniwal
2022-09-19 15:36:10 +05:30
committed by Akshay Joshi
parent bfabcea6e9
commit e2b00dda1b
4 changed files with 21 additions and 10 deletions

View File

@@ -14,9 +14,10 @@ import subprocess
from collections import defaultdict
from operator import attrgetter
from flask import Blueprint, current_app
from flask import Blueprint, current_app, url_for
from flask_babel import gettext
from flask_security import current_user, login_required
from flask_security.utils import get_post_login_redirect
from threading import Lock
from .paths import get_storage_directory
@@ -831,3 +832,14 @@ class KeyManager:
if user is not None:
del self.users[current_user.id]
def get_safe_post_login_redirect():
allow_list = [
url_for('browser.index')
]
url = get_post_login_redirect()
if url in allow_list:
return url
return "/"