Skip to main content

CTFd EUVDEUVD-2026-64670

| CVE-2026-78145 LOW
URL Redirection to Untrusted Site (Open Redirect) (CWE-601)
2026-08-23 VulDB GHSA-9x8r-fvqr-38vh
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious login URL with Next bypass param
  2. Delivery
    Distribute link via competition channels to targets
  3. Exploit
    Victim clicks link and authenticates to CTFd
  4. Execution
    Validator bypassed, victim silently redirected to attacker site
  5. Impact
    Attacker harvests credentials or delivers phishing content

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must be able to deliver a crafted CTFd login URL to a target user - typical delivery vectors include competition Discord servers, email invitations, or public event announcements. The victim must actively click the attacker-supplied URL and complete the CTFd login flow, at which point the bypass redirect fires. No authentication by the attacker is required (PR:N in CVSS 4.0). No non-default configuration is necessary: any CTFd instance with a publicly accessible login page running an affected version is exposed. Exploitation is bounded by the victim-interaction requirement (UI:P): the victim must click the link. This prevents fully automated or unaided exploitation. The attack surface is widened by the open-registration nature of public CTF events, where distributing malicious links to a large pool of participants is straightforward.

Impact

The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P) characterizes this as low-complexity, network-accessible, requiring no attacker privileges, but dependent on passive user interaction (victim must click a crafted link). No confidentiality or availability impact is modeled; only a limited integrity effect on the vulnerable system is scored. The exploit-maturity tag E:P confirms a public PoC is available, elevating realistic exploitation probability beyond the base score. No EPSS probability score is present in available data so quantitative exploitation likelihood cannot be stated. No CISA KEV listing exists, meaning confirmed active exploitation is not established. The practical threat is phishing: CTFd deployments that accept public registrations or have public-facing login pages are directly exposed - no special configuration is required. However, the CHANGELOG's mention of a potential JavaScript execution path suggests the effective severity could be higher than a pure open-redirect CVSS score implies, particularly if the XSS-adjacent issue shares this code path. Overall this is a moderate priority for operators of public-facing CTF competitions, elevated from routine open-redirect status by the public PoC and potential JS execution risk.

Exploit ScenarioDerived

An attacker crafts a CTFd login URL with a bypass value in the 'Next' parameter (e.g., appending '?next=//attacker.com' or an equivalent double-slash or protocol-relative variant that evades the _is_safe_url check) and distributes it to competition participants via Discord, email, or CTF announcement channels. The victim clicks the link, completes authentication against the legitimate CTFd instance, and is silently redirected to an attacker-controlled phishing page that mimics the competition interface to harvest credentials or session tokens. A public writeup detailing the bypass technique is available at https://mblunt.dev/writeups/ctfd-open-redirect/.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 23, 2026

Open redirect via safe-URL validator bypass in CTFd versions 3.8.0 through 3.8.3 allows remote unauthenticated attackers to craft login URLs that redirect victims to attacker-controlled sites, enabling phishing of competition participants. The vulnerability lies in the _is_safe_url() function within CTFd/utils/validators/__init__.py, which fails to correctly reject malformed or protocol-relative values supplied via the 'Next' query parameter. The vendor CHANGELOG for the patched release (3.8.4) further notes that attacker-controlled links could serve as a vector for arbitrary JavaScript execution if clicked, suggesting the integrity impact may exceed the open-redirect framing; a public exploit writeup exists and no active KEV listing is present at time of analysis.

RemediationAI

Upgrade CTFd to version 3.8.4, which contains the fix for the _is_safe_url validator bypass (commit 5d8515842fd1ab2c3a9f2dde9ffca907aa334ea9, PR #3026 at https://github.com/CTFd/CTFd/pull/3026, release at https://github.com/CTFd/CTFd/releases/tag/3.8.4). For operators unable to upgrade immediately, restricting the CTFd login endpoint to known-trusted IP ranges or placing it behind a VPN will prevent external attackers from distributing effective phishing links - this trade-off limits public competition accessibility and may not be viable for open events. Educating participants to inspect URLs before clicking login links provides a soft control but is unreliable against social engineering. No configuration-level toggle to disable the Next parameter handling is identified in the available references, so upgrade is the only complete remediation.

Affected VersionsENISA

CTFd 3.8.0
CTFd 3.8.1
CTFd 3.8.2
CTFd 3.8.3
CTFd 3.8.4

Affected Packages

euvd ctfd no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CTFd is an open-source Python-based platform for hosting Capture The Flag competitions. The vulnerable code path is the _is_safe_url() function in CTFd/utils/validators/__init__.py, which is responsible for vetting the 'Next' redirect parameter used after authentication flows (e.g., post-login redirects). CWE-601 (URL Redirection to Untrusted Site) applies: the validator can be bypassed with specially crafted URL values - such as protocol-relative or double-slash-prefixed URLs - that pass the safety check but resolve to external destinations in the browser. The CPE identifier cpe:2.3:a:n/a:ctfd:*:*:*:*:*:*:*:* covers all CTFd application versions. The vendor's 3.8.4 CHANGELOG entry (released 2026-04-20) discloses two related fixes: the URL validator bypass enabling phishing, and a separate issue where partially attacker-controlled links served to other users could result in arbitrary JavaScript execution if clicked - this second vector is not explicitly modeled in the provided CVSS vector.

Know when Ctfd gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 4.3 MEDIUM

Network-delivered open redirect requiring victim click to trigger; attacker needs no privileges; integrity-only impact, no confidentiality or availability effect.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Aug 23, 2026 - 23:22 NVD
MEDIUM LOW
CVSS changed
Aug 23, 2026 - 23:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Aug 23, 2026 - 22:45 cve.org
MEDIUM 5.3

DescriptionCVE.org

A vulnerability has been found in CTFd up to 3.8.4. The affected element is the function _is_safe_url of the file CTFd/utils/validators/__init__.py. Such manipulation of the argument Next leads to open redirect. The attack can be launched remotely. The exploit has been disclosed to the public and may be used. The name of the patch is 5d8515842fd1ab2c3a9f2dde9ffca907aa334ea9. Upgrading the affected component is recommended.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Low
niche CTF competition platform, minimal enterprise production footprint
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy