CVE-2026-47177
Description
Quest Bot before 1.0.4 allows users with bot settings access to route private ticket transcripts to a channel they can read, exposing private messages.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Quest Bot before 1.0.4 allows users with bot settings access to route private ticket transcripts to a channel they can read, exposing private messages.
Vulnerability
Quest Bot versions prior to 1.0.4 contain a vulnerability in the ticket transcript configuration. A user with access to the /settings command can set the ticket transcript channel to any channel they can read. When a ticket is closed, the bot fetches the full ticket history (including message author tags, message content, and attachment URLs) and sends it as a transcript file to that configured channel, without verifying that all viewers of the transcript channel were authorized to read the original ticket channel. [1]
Exploitation
An attacker must have access to the /settings command (e.g., Manage Server permission) and be able to read a chosen channel (e.g., #public-logs). The attacker sets the ticket transcript channel to that channel via /settings. When a staff member or ticket user closes any ticket, the bot sends the full transcript to the attacker-accessible channel. The attacker can then open the transcript file and read all private ticket messages, the ticket reason, participant names, and attachment URLs. [1]
Impact
Successful exploitation results in unauthorized disclosure of private ticket contents to users who were not permitted to read the original ticket. This compromises the confidentiality of sensitive conversations handled through the ticket system. [1]
Mitigation
The vulnerability is patched in Quest Bot version 1.0.4, released on 2026-06-11 [2]. All users should upgrade to this version or later. There is no known workaround; users with settings access should be considered trusted, but the patch ensures the transcript channel is validated to prevent unauthorized access. [1]
AI Insight generated on Jun 11, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2(expand)+ 1 more
- (no CPE)
- (no CPE)range: <1.0.4
Patches
0No patches discovered yet.
Vulnerability mechanics
Root cause
"Missing access-control check: the bot does not verify that the transcript channel's readers were also permitted to view the original ticket channel before sending the full ticket history."
Attack vector
An attacker with the ability to configure bot settings (e.g., Manage Server permission) sets the ticket transcript channel to a channel they can read, such as `#public-logs`. When any ticket is closed, the bot exports the complete ticket history—including ticket reason, participant tags, message content, timestamps, and attachment URLs—and posts the transcript to that attacker-readable channel. This allows the attacker to read private ticket conversations they could not access directly [ref_id=1]. The precondition is that the attacker has settings-level access and the bot can send files in the chosen transcript channel.
Affected code
The vulnerability resides in `apps/bot/src/commands/utility/settings.ts` (ticket transcript channel configuration) and `apps/bot/src/interaction-handlers/ticket/removeTicketHandler.ts` (functions `ButtonHandler.run` and `generateTranscript`). The bot fetches the full ticket channel history and sends a transcript to the configured `ticketTranscriptChannelId` without verifying that the transcript channel's readers were also permitted to view the original ticket channel [ref_id=1].
What the fix does
The patch (version 1.0.4) adds an authorization check before sending the transcript: the bot now verifies that every member who can read the transcript channel also had permission to read the original ticket channel. If the check fails, the transcript is not sent to that channel, preventing disclosure of private ticket contents to unauthorized viewers. The advisory does not include the exact diff, but the fix closes the privilege escalation by enforcing channel-level access control on transcript delivery [ref_id=1].
Preconditions
- authAttacker must have the ability to configure bot settings (e.g., Manage Server permission).
- authAttacker must be able to read the chosen transcript channel (e.g., #public-logs).
- configBot must have permission to send files in the chosen transcript channel.
Generated on Jun 11, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
2News mentions
0No linked articles in our index yet.