Skip to main content

Quest Bot CVE-2026-47172

| EUVDEUVD-2026-36300 CRITICAL
Inclusion of Functionality from Untrusted Control Sphere (CWE-829)
2026-06-11 GitHub_M
9.5
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Fork target repo
  2. Delivery
    Create branch named 'main' with malicious Dockerfile
  3. Exploit
    Open PR from 'main' to upstream
  4. Install
    Build workflow runs on PR
  5. C2
    Deploy workflow checks out attacker head_sha
  6. Execute
    Push malicious image as latest
  7. Impact
    Production bot compromise across Discord guilds

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Trusted source inclusion only
Exploitation Conditions

Requires the target repository to use the pre-1.0.3 workflow layout where an unprivileged build workflow runs on pull_request and a privileged deploy workflow triggers on its workflow_run completion, checks out github.event.workflow_run.head_sha, and gates on the head branch name being 'main'. The attacker must be able to open a pull request from a branch literally named 'main' (trivial from any fork) targeting the upstream repo, and the upstream must accept PRs from forks for the build workflow to run. Limiting factors: only repositories that copied this specific workflow pattern are exploitable (not a runtime bug in the bot itself), the deploy registry/credentials must still be wired to a production environment, and any branch-protection or required-reviewer environment gate on the deploy job blocks the chain. No user interaction beyond opening the PR is needed.

Impact

CVSS 4.0 base of 9.5 (AV:N/AC:L/AT:P/PR:N/UI:N with VC/VI/VA/SC/SI/SA all High) is plausible because successful exploitation yields full compromise of the production bot container and downstream Discord servers it operates in - a subsequent-system impact justifying the SC/SI/SA:H. AT:P (Present attack requirements) correctly reflects that the target repo must use this specific workflow_run + head_sha + branch-name-gated pattern, which is a real but non-default precondition. No EPSS, no CISA KEV entry, and no public PoC are referenced, so this is best treated as a targeted supply-chain risk against the duck-organization/questbot repository and any fork that copied the workflow rather than a broadly exploitable issue. The 'Information Disclosure' tag in the source feed understates impact - this is code execution and supply-chain compromise, not just disclosure.

Exploit ScenarioDerived

An attacker forks duck-organization/questbot, creates a branch literally named 'main' in their fork, commits a backdoored bot image build (e.g., a token exfiltrator or reverse shell in the Dockerfile), and opens a pull request from that 'main' branch into the upstream repository. The upstream build workflow runs on the PR and completes; the deploy workflow then fires on workflow_run, checks out the PR's head_sha, builds the attacker's Dockerfile, pushes it as the 'latest' tag to the registry, and triggers production rollout - at which point the malicious container runs with the production bot token and compromises every Discord guild it is installed in. No public exploit identified at time of analysis, though the advisory describes the chain in enough detail to reproduce.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 11, 2026

Privileged GitHub Actions workflow injection in Quest Bot (Discord moderation bot) prior to version 1.0.3 allows remote attackers to deploy malicious container images to production by opening a pull request from a branch named 'main'. The unprivileged build workflow's head_sha is consumed by a downstream privileged deploy workflow, which then builds and publishes attacker-controlled code as the 'latest' Docker image and triggers production rollout. No public exploit identified at time of analysis, but the GitHub Security Advisory (GHSA-9qf3-c86c-j346) documents the chain end-to-end.

RemediationAI

Upgrade to Quest Bot 1.0.3 (Vendor-released patch: questbot-v1.0.3) by pulling the fixed workflow definitions from https://github.com/duck-organization/questbot/releases/tag/questbot-v1.0.3 and re-deploying; forks must merge the workflow changes, not just rebase application code. As compensating controls until upgrade: change the deploy workflow trigger from workflow_run to a push/tag event on the protected main branch (removes the PR-origin head_sha problem entirely, at the cost of losing PR-built artifacts); or gate the deploy job on github.event.workflow_run.head_repository.full_name github.repository AND github.event.workflow_run.event 'push' to reject PR-origin runs (side effect: blocks all PR-driven deploys, including legitimate ones); or move the privileged Docker push/registry credentials into a GitHub Environment with required reviewers so a human must approve each deploy (adds release friction). Refer to the GHSA-9qf3-c86c-j346 advisory for the maintainer's specific fix.

Affected VersionsENISA

quest-bot < 1.0.3

Affected Packages

euvd quest_bot fix: 1.0.3

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

The flaw lives in the repository's CI/CD pipeline rather than the bot's runtime code: a GitHub Actions deploy workflow triggers on workflow_run completion of an upstream build workflow that runs on pull_request events. The deploy job uses the triggering workflow's head_sha to checkout code, which on a PR points at the fork/branch's HEAD - attacker-controlled content. A naive branch-name check ('if branch == main') was used as the deploy gate, but workflow_run exposes the source branch name of the PR head, so a PR opened from a branch literally named 'main' satisfies the condition. This pattern matches CWE-829 (Inclusion of Functionality from Untrusted Control Sphere) and is the same class of pwn_request / workflow_run privilege escalation documented by GitHub Security Lab. Affected CPE is cpe:2.3:a:duck-organization:quest-bot before 1.0.3.

Know when Quest Bot 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 9.5 CRITICAL
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
vuln.today AI 9.0 CRITICAL

Network-reachable via PR submission with no auth or UI, but AC:H reflects the required workflow_run+head_sha+branch-name-gate pattern; scope changes to the production bot and Discord guilds, all impacts High.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Jun 11, 2026 - 20:01 EUVD
CVE Published
Jun 11, 2026 - 18:28 cve.org
CRITICAL 9.5

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Quest Bot versions prior to 1.0.3 contain a critical vulnerability allowing remote attackers to inject malicious code directly into production deployment pipelines and compromise the latest Docker image distributed to all running instances. Organizations using this Discord moderation bot face immediate risk of complete service takeover and unauthorized access to moderated communities without any available vendor patch to remediate the issue. This represents a critical supply chain risk for any organization relying on this bot for production security operations.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Implement these interim mitigations: (1) Require mandatory code review approval for all pull requests before merge; (2) Apply least-privilege access controls to GitHub Actions workflows; (3) Enforce separate approval authorization between build and deploy stages to prevent privilege escalation; (4) Enable comprehensive audit logging of GitHub Actions and container registry activities; (5) Monitor container registries for unauthorized image uploads; (6) Restrict branch creation to authorized personnel; (7) Temporarily disable automatic production deployments until patched version 1.0.3 is available.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +48
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