Skip to main content

Temporal Server EUVDEUVD-2026-97769

| CVE-2026-89140 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-12 Temporal GHSA-fmmr-q3xv-r2hc
6.0
CVSS 4.0 · Vendor: Temporal
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with write access to any namespace
  2. Delivery
    Craft Workflow start with reserved temporal://internal callback
  3. Exploit
    Forge completion token referencing victim namespace and schedule
  4. Execution
    History service delivers callback without cross-namespace authorization
  5. Impact
    Corrupt target Scheduler V2 schedule state and seed next run

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated principal holding write permission in at least one namespace (PR:L), who then attaches a callback to the reserved temporal://internal address on a Workflow start request - that address was exempt from the component.callbacks.allowedAddresses allowlist, which is the core enabling condition. The target namespace must have Scheduler V2 schedules present; Scheduler V2 is OFF BY DEFAULT, so default deployments are not exposed, though schedules created while it was enabled remain targets even after the feature is turned off. Exploitation is further limited by the need to know the exact target namespace identifier, the schedule identifier, and the identity and timing of a currently running scheduled action (the AT:P attack requirement), which constrains this to targeted abuse rather than broad automated exploitation.

Impact

This is a moderate-severity, integrity-focused authorization flaw (CWE-639, IDOR-style) that should be treated as a targeted rather than mass-exploitation risk. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N) and score of 6.0 are internally consistent with the description: the attacker is network-reachable but must already hold authenticated write permission in some namespace (PR:L) and must satisfy a real attack requirement (AT:P) - knowledge of the target namespace ID, the schedule ID, and the identity and precise timing of a running action. Impact is integrity-only (VI:H) with no confidentiality (VC:N) or availability (VA:N) effect, matching the statement that no Workflow payloads or history are disclosed. No EPSS score, no CISA KEV listing, and no public exploit were provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the AT:P requirement plus the need for insider-style namespace knowledge makes opportunistic, automatable exploitation unlikely. A significant mitigating signal is that Scheduler V2 is off by default and only namespaces holding Scheduler V2 schedules are targetable - so most deployments are not exposed. Net: a genuine but bounded issue, not a drop-everything emergency; prioritize patching for environments that have enabled Scheduler V2 (noting that previously-created schedules remain targets even after the feature is disabled).

Exploit ScenarioDerived

An attacker with authenticated write access to any single low-value namespace crafts a Workflow start request that attaches a completion callback to the reserved temporal://internal address, which was exempt from the component.callbacks.allowedAddresses allowlist. Knowing a victim namespace ID, a Scheduler V2 schedule ID, and the timing of a currently running scheduled action, they submit a forged completion that the History service delivers to the component named by the token without re-authorizing them in the target namespace - causing the victim schedule to record the action as complete while its Workflow still runs (defeating a SKIP overlap policy) and feeding attacker-controlled data as the last completion result to the next run. No public exploit code is identified; the behavior and fix are confirmed only by the vendor patch diff.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 12, 2026

Temporal Server's Scheduler V2 callback handling fails to bind internal completion callbacks to the namespace that attached them, so an authenticated caller with write permission in one namespace can forge the reserved temporal://internal callback and alter schedule state in a different namespace. To succeed an attacker must already know the target namespace identifier, the schedule identifier, and the identity and timing of a currently running scheduled action, which makes this a targeted integrity attack rather than mass exploitation; the independent assessment rates it CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N. Scheduler V2 is disabled by default, so default deployments are not exposed, though schedules created while it was enabled remain targets even after the feature is turned off, and no public exploit code was identified at time of analysis.

RemediationAI

Upgrade to a vendor-released fixed build for your release line: v1.30.8, v1.31.4, or v1.32.1, all available from the Temporal GitHub releases page (https://github.com/temporalio/temporal/releases/tag/v1.30.8, /v1.31.4, /v1.32.1). The fix enforces that internal callbacks are authorized in the namespace that attached them: the validator now resolves the caller's namespace ID and rejects any temporal://internal callback whose component reference names a different namespace. The relevant upstream changes are PRs 11876, 12318, 12319, 12320, and 12382, with commits a210eeb8c2cc7e22338bb4f552ff1171d8f35969 and d0bd72e85014f31ecfbada1b436b08806496dbef. If you cannot patch immediately, the highest-value compensating control is to keep Scheduler V2 disabled (its default state) and, critically, to delete any Scheduler V2 schedules that were created while it was enabled, since those schedules remain valid targets after the feature is switched off; the trade-off is loss of that scheduling functionality. Additionally, restrict namespace write permission (the ability to start Workflows with callbacks) to trusted principals, which reduces the pool of callers who can reach the vulnerable path but does not eliminate the flaw for legitimate users who already hold that permission. Auditing or blocking callbacks directed at the reserved temporal://internal address at an ingress or proxy layer is only a partial measure, because the flaw lies in server-side authorization of that address rather than in transport, and any filtering must be applied consistently to avoid breaking legitimate Scheduler V2 callback delivery.

Affected VersionsENISA

Temporal Server 1.30.0 <1.30.8
Temporal Server 1.31.0 <1.31.4
Temporal Server 1.32.0 <1.32.1

Affected Packages

euvd temporal_server fix: 1.30.8, 1.31.4, 1.32.1

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

Temporal Server supports callbacks attached to Workflow start requests, including callbacks completed through Nexus. The address temporal://internal is reserved for callbacks that Scheduler V2 attaches to the Workflows it starts, and in affected releases that address was exempt from the component.callbacks.allowedAddresses allowlist. Each such callback carries a signed component reference (a ChasmComponentRef containing a namespace ID and business ID) inside the callback token header. The validator at common/callbacks/validator.go checked the callback address and the allowlist but never verified that the namespace encoded in the token matched the namespace of the caller submitting the Workflow start request, and the History service then delivered the callback to whatever component the token named, in whatever namespace that was, without authorizing the original caller there. This is CWE-639, Authorization Bypass Through User-Controlled Key: the caller controls the namespace and business identifiers embedded in the token, and those keys are trusted without being checked against the caller's own authorization scope. Scheduler V2 is implemented on the CHASM component framework, and the flaw lets a forged completion be recorded against a target schedule's running action. No disclosure of Workflow payloads or history was identified, so the impact is confined to integrity and state manipulation rather than data exfiltration.

Know when Temporal Server 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 (Temporal) PRIMARY 6.0 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Authenticated write in one namespace (PR:L), network-reachable (AV:N), but needs victim namespace/schedule IDs and precise running-action timing (AC:H); integrity-only impact, no disclosure (C:N/A:N).

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

Primary rating from Vendor (Temporal).

CVSS VectorVendor: Temporal

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

DescriptionCVE.org

Temporal Server does not bind internal completion callbacks to the namespace that attached them, which allows an authenticated caller with write permission in one namespace to alter Scheduler V2 schedule state in another namespace. The callback address temporal://internal is reserved for callbacks that Scheduler V2 attaches to the Workflows it starts. In affected releases, any authenticated caller could attach a callback with that address to a Workflow start request, the address was exempt from the component.callbacks.allowedAddresses allowlist, and the History service delivered the callback to the component its token named, in whatever namespace that was, without authorizing the original caller there. When the forged completion matches an action a target schedule is running, the schedule records the action as completed while its Workflow still runs, which can defeat an overlap policy such as SKIP, and passes caller-controlled data to the next scheduled Workflow as its last completion result. A forged failure may also pause a schedule configured to pause on failure. A forgery requires the target namespace identifier, the schedule identifier, and the identity and timing of a running action. No disclosure of Workflow payloads or history was identified. Only namespaces that hold Scheduler V2 schedules can be targeted; Scheduler V2 is off by default, and existing Scheduler V2 schedules remain targets after the settings that create them are turned off.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Medium
popular cloud-native workflow engine, but vulnerable Scheduler V2 feature off by default
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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