CVE-2024-58389: HoloViz Panel: open redirect via login next parameter
MEDIUMHoloViz Panel versions 1.2.2 up to (but not including) 1.9.0 contain an open redirect in the built-in BasicLoginHandler and PasswordLoginHandler, where an unvalidated 'next' query parameter is stored in a cookie and used to send users to any external site after a successful login. This is a medium-severity issue (CVSS 6.1) that needs a victim to click a crafted link, and there is no KEV listing, no public exploit, no Nuclei template and no EPSS score, so near-term exploitation likelihood looks low. The real concern is credential phishing: because the redirect happens right after a legitimate login on your own trusted domain, a lookalike page can convincingly ask users to re-enter credentials or MFA codes, and Panel is commonly used for internal ML dashboards and model demo apps. Upgrade to Panel 1.9.0 or later, and where you cannot upgrade, block or sanitize external 'next' values at the reverse proxy.
What is the risk?
Overall risk is LOW to MEDIUM. The attack is network-reachable, needs no privileges and has low complexity, but it requires user interaction (clicking a link) and affects only deployments that use Panel's built-in basic or password authentication. No active exploitation, public exploit code, scanner template or EPSS score has been reported. Impact is limited to low confidentiality and integrity effects, with a scope change because the victim lands on an external site. The main exposure is internet-facing dashboards with basic or password auth, where it supports phishing or credential theft.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Panel | pip | — | No patch |
Do you use Panel? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade Panel to 1.9.0 or later (fix commit a6a8b2cb in the holoviz/panel repository). 2) Inventory deployments that use the built-in basic or password login handlers (check panel serve --basic-auth and --auth-provider settings). 3) As a workaround, configure the reverse proxy or WAF to reject login requests whose 'next' parameter contains an absolute URL or a different host. 4) Prefer an enterprise SSO or OAuth provider in front of Panel apps. 5) Detect abuse by reviewing web logs for login URLs with next= pointing to external domains, and warn users about unexpected post-login redirects.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2024-58389?
HoloViz Panel versions 1.2.2 up to (but not including) 1.9.0 contain an open redirect in the built-in BasicLoginHandler and PasswordLoginHandler, where an unvalidated 'next' query parameter is stored in a cookie and used to send users to any external site after a successful login. This is a medium-severity issue (CVSS 6.1) that needs a victim to click a crafted link, and there is no KEV listing, no public exploit, no Nuclei template and no EPSS score, so near-term exploitation likelihood looks low. The real concern is credential phishing: because the redirect happens right after a legitimate login on your own trusted domain, a lookalike page can convincingly ask users to re-enter credentials or MFA codes, and Panel is commonly used for internal ML dashboards and model demo apps. Upgrade to Panel 1.9.0 or later, and where you cannot upgrade, block or sanitize external 'next' values at the reverse proxy.
Is CVE-2024-58389 actively exploited?
No confirmed active exploitation of CVE-2024-58389 has been reported, but organizations should still patch proactively.
How to fix CVE-2024-58389?
1) Upgrade Panel to 1.9.0 or later (fix commit a6a8b2cb in the holoviz/panel repository). 2) Inventory deployments that use the built-in basic or password login handlers (check panel serve --basic-auth and --auth-provider settings). 3) As a workaround, configure the reverse proxy or WAF to reject login requests whose 'next' parameter contains an absolute URL or a different host. 4) Prefer an enterprise SSO or OAuth provider in front of Panel apps. 5) Detect abuse by reviewing web logs for login URLs with next= pointing to external domains, and warn users about unexpected post-login redirects.
What systems are affected by CVE-2024-58389?
This vulnerability affects the following AI/ML architecture patterns: ML dashboards and data apps, Model demo and visualization front-ends, Internal analytics portals.
What is the CVSS score for CVE-2024-58389?
CVE-2024-58389 has a CVSS v3.1 base score of 6.1 (MEDIUM). The EPSS exploitation probability is 0.28%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0011.003Malicious LinkAML.T0049Exploit Public-Facing ApplicationCompliance Controls Affected
What are the technical details?
Original Advisory
HoloViz Panel from 1.2.2 before 1.9.0 contains an open redirect vulnerability in panel/auth.py that allows remote attackers to redirect users by supplying an unvalidated next query parameter. BasicLoginHandler and PasswordLoginHandler store the parameter in a next_url cookie, so crafted login links send victims to attacker-controlled external sites after successful login.
Exploitation Scenario
An attacker finds an internet-facing Panel analytics dashboard that uses password login. They craft a link such as https://dashboard.example.com/login?next=https://attacker.example/login and send it to data science staff in a phishing email. The victim sees the genuine company domain, logs in successfully, and is then redirected to an attacker-controlled clone of the dashboard that reports a session timeout and asks them to log in again. The attacker captures the credentials and MFA code, then uses them to reach internal model repositories or datasets.
Weaknesses (CWE)
CWE-601URL Redirection to Untrusted Site ('Open Redirect')PrimaryCWE-601URL Redirection to Untrusted Site ('Open Redirect')CWE-601 — URL Redirection to Untrusted Site ('Open Redirect'): The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect.
- [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue." Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylis
- [Architecture and Design] Use an intermediate disclaimer page that provides the user with a clear warning that they are leaving the current site. Implement a long timeout before the redirect occurs, or force the user to click on the link. Be careful to avoid XSS problems (CWE-79) when generating the disclaimer page.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:NReferences
Timeline
Related Vulnerabilities
CVE-2024-1315210.0Mobuy Panel: SQLi allows unauthenticated DB takeover
Same package: panelCVE-2026-528559.9Pterodactyl Wings: egg template leaks daemon secrets
Same package: panelCVE-2026-541589.9SiYuan: XSS→RCE via workspace sync in Electron app
Same package: panelCVE-2026-477449.9Shopper: RBAC bypass allows full admin takeover
Same package: panelCVE-2026-556349.9Pimcore: DataObject field-name injection → RCE
Same package: panel