Skip to main content

Taskcluster CVE-2026-55094

| EUVDEUVD-2026-90208 HIGH
Improper Input Validation (CWE-20)
2026-09-30 GitHub_M GHSA-v484-996h-6h4h
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach anonymous GraphQL endpoint
  2. Delivery
    Submit crafted filter:JSON with sift operators
  3. Exploit
    sift evaluates $where JavaScript
  4. Execution
    Execute arbitrary code in web-server
  5. Impact
    Access secrets and pivot

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires a Taskcluster deployment (prior to v100.3.0) configured with an anonymous role that exposes the GraphQL endpoint to unauthenticated callers, AND the vulnerable list/search queries that accept the filter: JSON argument parsed by the sift library. Given those conditions, no authentication or user interaction is needed (PR:N/UI:N) and the attack is network-reachable (AV:N). The primary limiting factor is the anonymous-role configuration: deployments that do not expose GraphQL to an anonymous role are not remotely exploitable by unauthenticated attackers. Affected versions: all Taskcluster releases before 100.3.0; the definitive mitigation is upgrading to 100.3.0 (which removes the sift dependency), or as an interim measure disabling/restricting the anonymous role's access to the GraphQL endpoint.

Impact

This is a genuinely high-priority flaw where the raw CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N) likely UNDERSTATES the technical impact. The description explicitly states 'unauthenticated RCE', yet the vendor's CVSS 4.0 vector marks only VC:H (confidentiality) with VI:N/VA:N - a direct conflict: a remote code execution primitive should carry integrity and availability impact as well. The root cause is passing an attacker-controlled GraphQL 'filter: JSON' argument into the sift library, whose MongoDB-style query operators ($where and function-valued operators) allow arbitrary JavaScript evaluation in the Node.js web-server process - a well-known sift/NoSQL-operator injection-to-RCE pattern, corroborated by the patch which removed sift entirely and replaced filter with a typed searchTerm: String. No EPSS score, KEV listing, or public PoC is present in the provided data, so exploitation status is 'no public exploit identified at time of analysis'; this is not confirmed in-the-wild activity. The critical caveat is the exploitation gate: the vulnerable path is only reachable when a deployment configures an anonymous role that exposes the GraphQL endpoint - meaning that despite PR:N, real-world exposure depends on deployment configuration, not a default. Net: high technical severity on affected configurations, but blast radius is limited by Taskcluster's niche footprint and the anonymous-role prerequisite.

Exploit ScenarioDerived

An attacker who can reach a Taskcluster deployment's GraphQL endpoint - one configured with an anonymous role granting query access - sends an unauthenticated query supplying a crafted filter: JSON object containing sift query operators such as $where with a function payload. When the server evaluates the filter via sift, the attacker's JavaScript executes in the web-server process, yielding remote code execution. No public PoC is referenced, but the fix (wholesale removal of sift) confirms the primitive.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.7% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 30, 2026

Unauthenticated remote code execution affects Taskcluster deployments running versions prior to 100.3.0 that expose the GraphQL endpoint to an anonymous role. The vulnerable code path is the GraphQL filter: JSON argument on list/search queries (clients, roles, secrets, worker pools, denylist addresses, artifacts, hooks, namespaces), which was parsed with the sift library using improper input validation (CWE-20); a crafted filter payload can lead to code execution on the web-server, giving full confidentiality, integrity, and availability impact (assessed CVSS 3.1 9.8, raw vendor CVSS 4.0 8.7). Exploitation is network-reachable and needs no authentication or user interaction, but is conditional on the deployment granting an anonymous role access to GraphQL; no active exploitation (CISA KEV) or public exploit code has been identified at time of analysis, and the vendor-released patch is version 100.3.0.

RemediationAI

Upgrade to Taskcluster 100.3.0 or later, which is the vendor-released patch and removes the vulnerable sift dependency, replacing filter: JSON with a typed searchTerm: String argument (release: https://github.com/taskcluster/taskcluster/releases/tag/v100.3.0; advisory: https://github.com/taskcluster/taskcluster/security/advisories/GHSA-ccv5-c45x-2q38; fix PR/commit: https://github.com/taskcluster/taskcluster/pull/8718 and https://github.com/taskcluster/taskcluster/commit/a1b0154b8235937657c2ded127f193b564e2334b). If immediate upgrade is not possible, the interim mitigation is to remove or restrict the anonymous role's access to the GraphQL endpoint so that unauthenticated callers cannot reach the affected list/search queries at all; the trade-off is that any workflow or dashboard relying on anonymous GraphQL access will break and must be reauthenticated. Be aware that the 100.3.0 change is a breaking API change for GraphQL consumers: filter: JSON arguments are gone, so clients must migrate to searchTerm: String where offered (clients, roles, secrets, worker pools, denylist addresses) and drop the argument on queries where it was removed (artifacts, latestArtifacts, cachePurges, hookGroups, hooks, hookLastFires, taskNamespace, namespaces, workerTypes), and server-side task-action filtering may change result ordering or filtering semantics. Because the vulnerability is unauthenticated and network-reachable, treat any pre-100.3.0 deployment with an anonymous GraphQL role as potentially compromised and review web-server logs for anomalous GraphQL filter payloads before and after upgrading.

Affected VersionsENISA

taskcluster < 100.3.0

Affected Packages

euvd taskcluster fix: 100.3.0

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

Taskcluster is Mozilla's task execution framework for continuous integration and release automation, and the affected component is its GraphQL web-server service. Prior to 100.3.0, a set of GraphQL list/search queries accepted a generic filter: JSON argument that was interpreted through the sift library, a JavaScript implementation of MongoDB-style query selectors. Because arbitrary JSON selectors were passed into a general-purpose query-matching engine with no schema validation or type constraints, the root-cause class is improper input validation (CWE-20) rather than a memory-safety bug, and the resulting primitive is unauthenticated remote code execution on the web-server process. The upstream fix (PR #8718, commit a1b0154b8235937657c2ded127f193b564e2334b) removes the sift dependency entirely and replaces filter: JSON with a typed searchTerm: String argument on the queries that still need search (clients, roles, secrets, worker pools, denylist addresses), moving task-action filtering server-side and deleting the unused filter argument from the remaining queries (artifacts, latestArtifacts, cachePurges, hookGroups/hooks/hookLastFires, taskNamespace, namespaces, workerTypes). The change is documented as a minor level deployer-facing change in changelog/issue-8716.md. Note that the CVE's tag taxonomy labels this as Information Disclosure, which is inconsistent with the vendor description of unauthenticated RCE and the assessed confidentiality/integrity/availability impact of the upstream advisory; the CPE identifier cpe:2.3:a:taskcluster:taskcluster:*:*:*:*:*:*:*:* confirms the vendor product scope, and the security advisory is GHSA-ccv5-c45x-2q38.

Know when Taskcluster 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 (GitHub_M) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 9.8 CRITICAL

Network-reachable, unauthenticated via anonymous-role GraphQL exposure with low complexity; sift $where injection yields code execution, so full C/I/A impact rather than the vendor's confidentiality-only scoring.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Sep 30, 2026 - 18:05 EUVD
CVE Published
Sep 30, 2026 - 17:22 cve.org
HIGH 8.7

DescriptionCVE.org

Taskcluster is the task execution framework that supports Mozilla's continuous integration and release processes. Prior to version 100.3.0, Taskcluster is vulnerable to unauthenticated RCE on Taskcluster deployments with an anonymous role that exposes the GraphQL endpoint and parses filter arguments using the sift library. This issue has been patched in version 100.3.0.

Technical POC Analysis

Evidence base: GitHub advisory GHSA-ccv5-c45x-2q38 only.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Organizations running Taskcluster CI/CD infrastructure on versions earlier than 100.3.0 may be exposed to unauthenticated remote code execution wherever the GraphQL endpoint has been granted to an anonymous role. A successful attack would give an intruder full control of the build and release web server, creating a credible path to tampering with software artifacts and pipelines that downstream customers and partners depend on. The exposure is configuration-dependent - only deployments that grant anonymous GraphQL access are in scope - and no public exploit identified at time of analysis, so this is a priority hardening action rather than an active incident.

Business Impact: High
Compensating Controls

Interim mitigations: revoke the anonymous role's access to the GraphQL endpoint, restrict the endpoint to trusted networks, and monitor for anomalous GraphQL filter payloads; apply the vendor fix version 100.3.0 as the durable remediation where available.

Threat Intelligence Overview

EPSS Score
0.7%
Top 49% exploitable
Prevalence
Low
Mozilla-specific CI/CD framework, few production deployments outside Mozilla
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 HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
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.

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