Skip to main content

Prefect CVE-2026-7724

| EUVDEUVD-2026-26879 LOW
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-05-04 VulDB
1.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Recon
    Attacker registers DNS domain
  2. Delivery
    Configures webhook URL to attacker domain
  3. Exploit
    Initial validation check resolves to public IP
  4. Install
    URL passes SSRF check
  5. C2
    HTTP connection initiated
  6. Execute
    DNS rebinding returns private IP
  7. Impact
    Unprotected transport connects to private address
  8. Step 8
    Sensitive webhook payload exfiltrated

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
Exploitation Conditions

Exploitation requires an authenticated user (PR:L) with the ability to configure webhooks or notifications in Prefect. The attacker must control a DNS domain and be able to manipulate DNS responses with sub-second timing precision. The Prefect instance must have allow_private_urls set to False (the default secure configuration) or the webhook/notification must target a URL that validate_restricted_url would ordinarily restrict. Non-default configurations where allow_private_urls is True eliminate this vulnerability's impact, as they intentionally permit private address targets. Exploitation does not require user interaction (UI:N) beyond initial webhook/notification configuration, and can be triggered automatically when Prefect processes events.

Impact

Despite the low CVSS score of 1.3, this vulnerability presents a moderate real-world risk. The CVSS vector (AV:N/AC:H/AT:N/PR:L/UI:N) correctly reflects that exploitation requires network access, high complexity, and low privileges, yet the technical impact is limited to information disclosure (VC:L/VI:L/VA:L). However, multiple risk signals indicate tangible exploitability: publicly available proof-of-concept code exists, the attack methodology (DNS rebinding) is well-established, and the fix explicitly addresses a known TOCTOU window. The attack complexity is high because it requires precise timing and DNS control, and the tag indicates information disclosure rather than remote code execution. The vulnerability is NOT actively exploited in the wild (no KEV status), but the combination of public POC and low authentication requirement (PR:L) warrants expedited patching for internet-facing Prefect instances. Organizations with Prefect deployments exposed to untrusted users should prioritize this upgrade, particularly if webhooks or notifications route to sensitive internal services. The limited scope (information disclosure, no integrity or availability impact) and requirement for authenticated attackers reduce criticality compared to network-accessible RCE, but the TOCTOU nature makes it a teaching example for why static URL validation is insufficient for SSRF protection.

Exploit ScenarioDerived

An authenticated user (satisfying PR:L requirement) configures a webhook notification URL pointing to a hostname under attacker control. The attacker's DNS server initially returns a public IP address when Prefect's validate_restricted_url function performs its pre-connection check, allowing the URL to pass validation. When Prefect's HTTP client actually establishes the connection moments later, the attacker's DNS server returns a private IP address (e.g., 127.0.0.1) via DNS rebinding. The unprotected HTTP transport connects to the private address and inadvertently exfiltrates webhook data or notification content that should have been restricted.

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

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

Alert me

AnalysisAIv1 – May 04, 2026

Time-of-check time-of-use (TOCTOU) vulnerability in Prefect's validate_restricted_url function allows remote attackers with low privileges to bypass Server-Side Request Forgery (SSRF) protections via DNS rebinding attacks during webhook and notification delivery. Publicly available exploit code exists. The vulnerability affects Prefect versions up to 3.6.28.dev1 and is fixed in 3.6.28.dev2.

RemediationAI

Upgrade to Prefect version 3.6.28.dev2 or later, which includes the fix identified by commit 7c70ac54a5e101431d83b9f2681ec88d5e0021ed and released at https://github.com/PrefectHQ/prefect/releases/tag/3.6.28.dev2. The patch replaces simple DNS validation with SSRF-protected HTTP transports that re-validate resolved IPs at connection time and enforce IP pinning. No workarounds are available short of upgrading, as the vulnerability is structural to the validation-before-connection pattern. Organizations unable to upgrade immediately should restrict webhook and notification destinations to allowlisted fully-qualified domain names (FQDNs) that resolve only to public IP addresses, disable dynamic DNS for notification targets, and implement network segmentation to prevent HTTP clients from reaching internal services-these controls mitigate but do not eliminate the risk, as DNS rebinding can still occur within the allowed set.

Affected VersionsENISA

prefect 3.6.28.dev1

Affected Packages

pypi prefect fix: 3.6.28.dev2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

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

Technical ContextAI · show details

The vulnerability exists in the webhook and notification components' URL validation logic (CWE-367: Improper Synchronization). The validate_restricted_url function performs initial DNS resolution and IP validation to prevent SSRF attacks targeting private addresses, but this validation occurs before the actual HTTP connection is established. An attacker can exploit the time gap between validation and connection by performing DNS rebinding: the hostname initially resolves to a public IP (passing validation), then resolves to a private IP (like 127.0.0.1 or 10.0.0.0/8) when the HTTP client actually establishes the connection. The fix implements SSRFProtectedAsyncHTTPTransport and SSRFProtectedHTTPTransport that re-validate the resolved IP at connection time and pin the connection to the pre-resolved address, eliminating the TOCTOU window. The patch also upgrades from socket.gethostbyname (which returns only the first A record) to socket.getaddrinfo (which validates all resolved addresses), closing an additional bypass where a hostname publishes both public and private records.

Know when Prefect 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 1.3 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P

Primary rating from Vendor (VulDB) · only source for this CVE.

CVSS VectorVendor: VulDB

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

Lifecycle Timeline

5
PoC Detected
May 04, 2026 - 15:18 vuln.today
Public exploit code
Severity Changed
May 04, 2026 - 03:22 NVD
MEDIUM LOW
CVSS changed
May 04, 2026 - 03:22 NVD
5.0 (MEDIUM) 1.3 (LOW)
Patch released
May 04, 2026 - 03:00 nvd
Patch available
CVE Published
May 04, 2026 - 02:45 nvd
LOW 1.3

DescriptionCVE.org

A vulnerability has been found in PrefectHQ prefect up to 3.6.28.dev1. Affected by this vulnerability is the function validate_restricted_url of the component Webhook/Notification. The manipulation leads to time-of-check time-of-use. It is possible to initiate the attack remotely. The attack is considered to have high complexity. The exploitation appears to be difficult. The exploit has been disclosed to the public and may be used. Upgrading to version 3.6.28.dev2 addresses this issue. The identifier of the patch is 7c70ac54a5e101431d83b9f2681ec88d5e0021ed. Upgrading the affected component is advised.

Threat Intelligence Overview

EPSS Score
0.1%
Top 80% exploitable
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL 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.1%
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

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Related Vulnerabilities in PrefectHQ prefect Multiple Vulnerabilities

View all 4

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