Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable with no authentication needed to plant the redirect (PR:N, AV:N), but requires victim to click and log in (UI:R); impact is phishing-only, so C:L with no integrity or availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Invoice Ninja through 5.13.26 contains an open redirect vulnerability in the client portal login that allows unauthenticated attackers to redirect authenticated victims to attacker-controlled external URLs by injecting a malicious value into the intended query parameter. Attackers can craft a client login link with an external URL in the intended parameter, which is stored in the session without host validation and emitted verbatim via a bare redirect in the ContactLoginController authenticated() handler after the victim completes a legitimate login, enabling phishing attacks.
AnalysisAI
Open redirect in Invoice Ninja's client portal login (through version 5.13.26) enables unauthenticated attackers to craft login URLs that transparently redirect authenticated victims to attacker-controlled external sites after they complete a legitimate login. The vulnerability stems from the intended query parameter being stored in the session without host validation, then emitted verbatim by the ContactLoginController::authenticated() handler post-login, making it a reliable phishing vector against Invoice Ninja clients. A publicly available proof-of-concept exists; no CISA KEV listing is present at time of analysis.
Technical ContextAI
Invoice Ninja is a self-hosted and SaaS-available open-source invoicing platform. The flaw is classified under CWE-601 (URL Redirection to Untrusted Site - Open Redirect), a root cause class where user-controlled URL values are incorporated into HTTP redirect responses without validating the destination host against a trusted allowlist. Specifically, the intended query parameter supplied pre-authentication is persisted into the PHP session without domain-scoping or host validation. After the victim completes authentication, ContactLoginController::authenticated() retrieves and emits this stored value as a bare redirect() response, with no check that the destination is internal to the Invoice Ninja instance. The CPE cpe:2.3:a:invoiceninja:invoiceninja:*:*:*:*:*:*:*:* covering all versions through 5.13.26 confirms this is a core application defect present across all deployment modes.
RemediationAI
The primary remediation is to upgrade Invoice Ninja beyond version 5.13.26 once a patched release is available; however, no specific fixed version has been independently confirmed from the available references - monitor the GitHub issue at https://github.com/invoiceninja/invoiceninja/issues/12039 for patch release status. For self-hosted deployments requiring an immediate compensating control, consider deploying a Web Application Firewall rule to inspect and block or strip intended parameter values on client portal login requests that contain an external hostname (i.e., values not prefixed with the application's own base URL) - note this may interfere with legitimate intra-app redirects if the allowlist is misconfigured. Restricting client portal access to VPN or trusted IP ranges eliminates the attack surface entirely but removes the portals' external accessibility for clients. Security teams should also issue guidance to client portal users to verify the URL destination following any Invoice Ninja login, particularly if the login link arrived via email.
More in Open Redirect
View allA malicious third-party can give a crafted "ssh://..." URL to an unsuspecting victim, and an attempt to visit the URL ca
GFI Kerio Control versions 9.2.5 through 9.4.5 contain an HTTP response splitting vulnerability in the dest parameter of
PHP through 7.0.8 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect
Multiple open redirect vulnerabilities in Apache Struts 2.0.0 through 2.3.15 allow remote attackers to redirect users to
Open redirect vulnerability in age-verification.php in the Age Verification plugin 0.4 and earlier for WordPress allows
Open redirect vulnerability in Kaseya Virtual System Administrator (VSA) 7.x before 7.0.0.29, 8.x before 8.0.0.18, 9.0 b
Vulnerability in the Oracle Applications Framework component of Oracle E-Business Suite (subcomponent: Popup windows (li
Unspecified vulnerability in the Oracle Application Server Single Sign-On component in Oracle Fusion Middleware 10.1.4.3
Flarum is open source discussion platform software. Rated medium severity (CVSS 6.5), this vulnerability is remotely exp
Open redirect vulnerability in Novius OS 5.0.1 (Elche) allows remote attackers to redirect users to arbitrary web sites
Open redirect vulnerability in the Redirect function in stageshow_redirect.php in the StageShow plugin before 5.0.9 for
Nteract v.0.28.0 was discovered to contain a remote code execution (RCE) vulnerability via the Markdown link. Rated crit
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-40419
GHSA-wcjx-7qfj-3c4v