SECURITYCRITICALCVE-2026-53942

CVE-2026-53942 — conda/infrastructure GitHub Actions Pwn Request Exposes SYNC_TOKEN

A pwn request flaw in conda/infrastructure's update workflow renders PR-controlled templates with a privileged SYNC_TOKEN, enabling code injection (CVSS 9.9).

Dylan H.

Security Team

October 24, 2026
4 min read
CVE-2026-53942 — conda/infrastructure GitHub Actions Pwn Request Exposes SYNC_TOKEN

Critical severity

Rated critical. Prioritise patching — see the remediation guidance below.

Affected Products

  • conda/infrastructure update.yml workflow before commit 9c0f238

Executive Summary

CVE-2026-53942 is a critical "pwn request" vulnerability (CWE-94, code injection) in the conda/infrastructure repository, the centralized infrastructure code for the Conda organization. The workflow .github/workflows/update.yml runs on issue_comment events containing @conda-bot render or @conda-bot recreate, and checks out the head repository and branch of a pull request, which is untrusted, while holding a highly privileged secret named SYNC_TOKEN.

CVSS Score: 9.9 (Critical)

The external template-files action reads its configuration and templates from the checked-out working directory and renders them in an unsandboxed Jinja2 environment. An attacker who opens a pull request with crafted templates and triggers the workflow by comment can execute code in a job that has access to SYNC_TOKEN. The flaw was published on 2026-10-23 and fixed in commit 9c0f238. No public proof of concept and no confirmed exploitation were listed at the time of writing.


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-53942
CVSS Score9.9 (Critical)
WeaknessCWE-94 Improper Control of Generation of Code
Attack VectorNetwork (via pull request and comment)
Affected Component.github/workflows/update.yml
Patch AvailableYes — commit 9c0f238
Known ExploitedNot reported

Affected Products

ProductAffected VersionsFixed Version
conda/infrastructure (update.yml)Before commit 9c0f238Commit 9c0f238 and later

The advisory notes the pattern appeared to remain present in conda/conda until the fix, since that repository consumes the same shared infrastructure workflow.


Technical Analysis

The vulnerable chain has three parts:

  1. Untrusted trigger. Any issue_comment on a pull request containing the trigger phrase starts the workflow.
  2. Untrusted checkout. The workflow resolves the PR head repository and branch from the API and checks that ref out in a job that has SYNC_TOKEN available.
  3. Unsandboxed rendering. The template-files action loads its default config and templates from the working directory and renders them with Jinja2 without a sandbox, so template content becomes executable code.

This is the classic pwn request pattern: privileged workflow context combined with attacker-controlled checkout contents. Anything reachable with SYNC_TOKEN — typically write access across the organization's repositories — becomes a supply chain risk for downstream consumers.


Impact Assessment

Impact AreaDescription
Secret TheftSYNC_TOKEN can be exfiltrated from the runner
Repository TamperingA stolen token could push changes to synced repositories
Supply ChainCompromised repositories could affect downstream package consumers
CI AbuseRunner resources and other secrets in the job are exposed

Immediate Remediation

If you maintain the conda infrastructure or copied this workflow pattern:

  1. Pull commit 9c0f238 or later into any fork or copy of the workflow.
  2. Rotate SYNC_TOKEN and review its recent use if the old workflow was active.
  3. Add a trusted-maintainer gate (author association check) before checkout and render.
  4. Render templates only from trusted base-branch files, never from the PR head.
  5. Do not pass personal access tokens into jobs that process untrusted content.
  6. Update conda/actions/template-files to use a sandboxed Jinja2 environment.
# Example gate: only act on comments from trusted authors
jobs:
  render:
    if: contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)

Detection Indicators

IndicatorDescription
@conda-bot render or @conda-bot recreate comments from non-maintainersTrigger attempt
Workflow runs checking out fork branches with write-scoped tokensVulnerable pattern in use
Unexpected pushes or API calls using SYNC_TOKENPossible token theft
Outbound network connections from the render job to unfamiliar hostsExfiltration

References