HarborGuardharborguardDatabase
Back to search
CRITICALCVE-2026-47174Published Modified CNA GitHub_M

CVE-2026-47174: Duck Site: Untrusted pull request code can trigger privileged production deployment

In Duck Site before version 1.0.1, the repository has a deploy workflow that runs after the build workflow completes. The build workflow runs on pull requests, while the deploy workflow runs with package-write permissions and deployment secrets. If an attacker can make a pull request build satisfy the deploy workflow’s main branch condition, the deploy job checks out the triggering workflow commit, builds it into a Docker image, pushes it as latest, and triggers Dokploy deployment. This can allow attacker-controlled pull request code to become the deployed production site image without being merged. This issue has been patched in version 1.0.1.

Metrics

CVSS v4.0
9.5
Severity
CRITICAL
Fixed in
Affected Products
1

Get notified

Email me when this CVE is updated: new fix versions, severity changes, or any record change.

HarborGuard Analysis

Synopsis

This is a CI/CD pipeline privilege escalation vulnerability in the Duck Site GitHub Actions workflow configuration. A remote, unauthenticated attacker who can open a pull request against the repository can craft a build that satisfies the deploy workflow's main-branch condition, causing the deploy job to check out the attacker's unreviewed code, build it into a Docker image, push it as the latest image, and trigger a production deployment via Dokploy. Successful exploitation lets attacker-controlled code run in production without ever being merged or reviewed. No fix version has been published yet; HarborGuard is tracking the advisory and will make a patched-image rebuild available as soon as an upstream fix is released.

HarborGuard Coverage

Detection

Detection is available across every HarborGuard environment: the CVE is ingested from upstream advisory feeds within minutes of publication and matched against customer images, including custom-built images derived from duck-site, in all connected registries and CI pipelines.

Available
Triage

HarborGuard scores this finding at CVSS v4.0 9.5 (Critical) and is capable of weighting that score against each environment's compliance policy to determine urgency and route the alert to the appropriate team inbox within each customer organization.

Available
Patch

Because no upstream fix version has been published, HarborGuard re-checks the advisory on every ingest cycle and will make a patched-image rebuild available automatically the moment an upstream fix is released. In the interim, the finding remains open and active in each affected environment's queue.

Pending upstream

Exploit Conditions

  • Network reachabilityRequired

    The attacker must be able to reach the repository over the network to open a pull request that triggers the vulnerable workflow.

  • AuthenticationNot required

    No credentials are needed; any actor who can open a pull request against the repository can trigger the vulnerable deploy path.

  • Victim interactionNot required

    No human interaction is required; the deploy workflow fires automatically upon build completion without any maintainer needing to approve or click anything.

  • Attack complexityDetail

    While the exploit is broadly straightforward, a prerequisite condition exists in that the attacker's pull request build must satisfy the deploy workflow's main-branch condition, introducing a minor environmental dependency.

Blast Radius

  • Attacker-controlled code is built into the production Docker image and pushed as the latest tag, fully replacing the running application without a merge or code review.
  • The deployed Dokploy production environment executes arbitrary attacker code, giving the attacker runtime control over the production service.
  • Package-write permissions and deployment secrets available to the deploy workflow are exposed to the attacker's code at build and deploy time, potentially compromising downstream systems and credentials.
  • All three impact dimensions (confidentiality, integrity, availability) are fully compromised at both the vulnerable component scope and the downstream system scope, per the CVSS v4.0 vector.

How HarborGuard Handles This

Available on HarborGuard: because no upstream patch exists for CVE-2026-47174, the advisory is re-evaluated on every ingest cycle so that a patched-image rebuild becomes available the moment Duck Site publishes a fix. Until then, customers running affected versions of duck-site (before 1.0.1) should apply compensating controls: use repository branch-protection rules and required reviewers to prevent untrusted pull requests from satisfying workflow conditions; restrict workflow trigger permissions so that pull-request-initiated builds cannot inherit package-write or deployment secrets; and consider network-policy isolation of the Dokploy deployment endpoint to limit the blast radius of an unauthorized push. For customers with auto-remediation enabled, HarborGuard will initiate a rebuild, regression run, and PR against affected workloads automatically once a fix version is published upstream.

See how HarborGuard automates this
Affected packages
  • duck-organization / duck-site
    < 1.0.1
CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H