CVE-2026-47172
Deferred Deferred - Pending Action

Privileged Deployment in Quest Bot via PR Workflow

Vulnerability report for CVE-2026-47172, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-11

Last updated on: 2026-06-11

Assigner: GitHub, Inc.

Description

Quest Bot is an opensource modern Discord Bot built for moderation, utilities and support. Prior to version 1.0.3, the repository has a privileged deploy workflow that runs after the unprivileged build workflow completes. The build workflow runs on pull requests, and the deploy workflow checks out the triggering workflow’s head_sha, builds that code into a Docker image, pushes it as latest, and triggers production deployment. If an attacker can open a pull request from a branch named main, the deploy workflow condition can treat the PR build as deployable and build the attacker-controlled commit in a privileged deployment context. This can result in malicious container deployment and production bot compromise. This issue has been patched in version 1.0.3.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-11
Last Modified
2026-06-11
Generated
2026-07-02
AI Q&A
2026-06-12
EPSS Evaluated
2026-06-30
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
duck_organization quest_bot to 1.0.3 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-829 The product imports, requires, or includes executable functionality (such as a library) from a source that is outside of the intended control sphere.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-47172 is a critical vulnerability in the Quest Bot repository (versions up to 1.0.2) that allows an attacker to deploy malicious code through a privileged deployment workflow.

The issue arises because the deploy workflow runs after an unprivileged build workflow completes and checks out the commit from a pull request branch named "main." This condition can be exploited by an attacker who opens a pull request from a branch named "main," causing the deploy workflow to treat the pull request build as deployable.

As a result, the attacker-controlled commit is built into a Docker image, pushed as the latest image, and triggers a production deployment, leading to potential compromise of the production bot environment.

Impact Analysis

This vulnerability can lead to a supply-chain compromise where an attacker gains access to production secrets, tokens, and runtime permissions.

The attacker can deploy malicious container images, resulting in the compromise of the entire bot environment, including confidentiality, integrity, and availability of the system.

Such a compromise can disrupt services, leak sensitive information, and allow unauthorized actions within the production environment.

Detection Guidance

This vulnerability arises from a flawed GitHub Actions workflow configuration where the deploy workflow runs after the build workflow and uses the condition github.event.workflow_run.head_branch == 'main'. Detection involves inspecting your GitHub Actions workflows for this specific condition and the use of github.event.workflow_run.head_sha to check out code.

You can detect if your repository is vulnerable by checking the workflow files for the deploy workflow conditions and the branch names used in pull requests.

  • Review your GitHub Actions workflow YAML files for the deploy workflow that runs on workflow_run events.
  • Look for the condition: github.event.workflow_run.head_branch == 'main' in the deploy workflow.
  • Check if the deploy workflow uses github.event.workflow_run.head_sha to check out code.

There are no specific network or system commands provided in the resources to detect exploitation, but you can audit your GitHub Actions logs for unexpected deploy workflow runs triggered by pull requests from branches named 'main'.

Mitigation Strategies

The immediate mitigation is to upgrade Quest Bot to version 1.0.3 or later, where this vulnerability has been patched.

Additionally, review and modify your GitHub Actions workflows to ensure that deploy workflows do not run on untrusted pull request branches, especially avoiding conditions that allow pull requests from branches named 'main' to trigger privileged deployments.

  • Upgrade Quest Bot to version 1.0.3 or later.
  • Remove or correct the deploy workflow condition that checks for github.event.workflow_run.head_branch == 'main'.
  • Restrict deploy workflows to trusted branches and avoid using attacker-controllable variables like head_sha from untrusted workflows.
Compliance Impact

This vulnerability allows an attacker to deploy malicious code in a privileged production environment, leading to potential compromise of production secrets, tokens, and runtime permissions.

Such a compromise can result in unauthorized access to sensitive data and disruption of service, which may violate compliance requirements under standards like GDPR and HIPAA that mandate protection of data confidentiality, integrity, and availability.

Therefore, exploitation of this vulnerability could lead to non-compliance with these regulations due to potential data breaches and loss of control over protected information.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-47172. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart