{"id":"CVE-2026-61840","kind":"vulnerability","aliases":["CVE-2026-61840"],"related":[],"title":"Quest Bot: DNS rebinding lets Discord members probe internal HTTPS hosts","description":"Quest Bot is an opensource Discord Bot. Prior to 1.1.9, the `image to GIF` command uses a request helper that validates a hostname's public IP addresses but then sends the actual request by hostname, causing a `second DNS lookup`. An attacker controlling a domain can return a public address during validation and an internal address during the connection, bypassing the internal-address protection through `DNS rebinding`. The command takes its address directly from user input and its developer-only gate is disabled in normal deployments, so any member of a server with the bot can trigger the flaw without special permissions. Requests are restricted to `HTTPS on port 443`, and content is returned only when the response is a `genuine image`. The impact is therefore mostly blind internal probing with limited retrieval of image responses from loopback or internal endpoints, not arbitrary internal-data disclosure. Common cloud metadata services using plain HTTP on another port are not reachable through this path. This issue is fixed in version 1.1.9.","summary":"Quest Bot, an open-source Discord bot, checks a hostname's IP address but then connects by name, so a second DNS lookup can point it at an internal address. Members of a server with the bot can use the image-to-GIF command to probe internal HTTPS endpoints and retrieve image responses from them.","severity":"low","cvss":2.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["discord","package","quest-bot","self-hosted"],"not_affected_if":["developer-only-gate-enabled","version-1.1.9-or-later"],"how_to_check":"- Check the installed Quest Bot version; versions below `1.1.9` are affected.\n- Look for the `image to GIF` command in your bot deployment and confirm whether the developer-only gate is enabled.","fix":"- Quest Bot: upgrade to `1.1.9`.","status":"open","published_at":"2026-10-30T19:18:28+00:00","first_seen_at":"2026-10-30T19:25:29+00:00","triaged_at":"2026-10-30T19:27:51+00:00","updated_at":"2026-10-30T19:27:51+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-30T19:27:51Z","model":"claude-haiku-5-5","output":{"fix":"- Quest Bot: upgrade to `1.1.9`.","reach":"internet","title":"Quest Bot: DNS rebinding lets Discord members probe internal HTTPS hosts","impact":"low","summary":"Quest Bot, an open-source Discord bot, checks a hostname's IP address but then connects by name, so a second DNS lookup can point it at an internal address. Members of a server with the bot can use the image-to-GIF command to probe internal HTTPS endpoints and retrieve image responses from them.","audience":"developers","category":"package","nicknames":[],"who_cares":["quest-bot","discord","self-hosted"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"Internal HTTPS endpoints probed; limited image responses retrieved from loopback or internal hosts.","analyst_note":"","how_to_check":"- Check the installed Quest Bot version; versions below `1.1.9` are affected.\n- Look for the `image to GIF` command in your bot deployment and confirm whether the developer-only gate is enabled.","plain_action":"","needs_analyst":false,"not_affected_if":["version-1.1.9-or-later","developer-only-gate-enabled"],"who_is_affected":"Teams that run the Quest Bot Discord bot, especially on a host with access to internal HTTPS services. Exposure depends on whether members can reach the image-to-GIF command, which the description says is usually possible because the developer-only gate is disabled in normal deployments. Requests are limited to HTTPS on port 443 and cloud metadata over plain HTTP on another port is not reachable through this path.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"low"},"cost_usd":0.000731,"input_tokens":4328,"output_tokens":597,"severity_before":"low"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-61840':14A,17A '1.1.9':90C,252C '443':192C 'actual':112C 'address':39B,56B,107C,130C,136C,144C,153C 'anoth':238C 'arbitrari':225C 'attack':122C 'blind':210C 'bot':2A,22B,27B,33B,63B,82C,87C,177C 'bypass':140C 'caus':116C 'check':34B 'cloud':231C 'command':71B,95C,150C 'common':230C 'connect':42B,139C 'content':194C 'control':123C 'cve':12A,15A 'data':228C 'deploy':168C 'develop':161C 'developer-on':160C 'direct':154C 'disabl':165C 'disclosur':229C 'discord':6A,18B,32B,86C 'dns':3A,48B,119C,147C 'domain':125C 'endpoint':76B,223C 'fix':249C 'flaw':181C 'gate':163C 'genuin':203C 'gif':70B,94C 'helper':99C 'host':11A,25B 'hostnam':36B,103C,115C 'http':236C 'https':10A,75B,189C 'imag':68B,79B,92C,204C,217C 'image-to-gif':67B 'impact':206C 'input':157C 'intern':9A,55B,74B,135C,143C,211C,222C,227C 'internal-address':142C 'internal-data':226C 'ip':38B,106C 'issu':247C 'let':5A 'limit':214C 'lookup':49B,120C 'loopback':220C 'member':7A,57B,171C 'metadata':232C 'most':209C 'name':44B 'normal':167C 'open':30B 'open-sourc':29B 'opensourc':85C 'packag':19B 'path':245C 'permiss':184C 'plain':235C 'point':51B 'port':191C,239C 'prior':88C 'probe':8A,73B,212C 'protect':145C 'public':105C,129C 'quest':1A,21B,26B,81C 'quest-bot':20B 'reachabl':242C 'rebind':4A,148C 'request':98C,113C,185C 'respons':80B,200C,218C 'restrict':187C 'retriev':78B,215C 'return':127C,196C 'second':47B,118C 'self':24B 'self-host':23B 'send':110C 'server':60B,174C 'servic':233C 'sourc':31B 'special':183C 'take':151C 'therefor':208C 'trigger':179C 'use':65B,96C,234C 'user':156C 'valid':101C,132C 'version':251C 'without':182C","nicknames":[],"mitigations":[],"who_affected":"Teams that run the Quest Bot Discord bot, especially on a host with access to internal HTTPS services. Exposure depends on whether members can reach the image-to-GIF command, which the description says is usually possible because the developer-only gate is disabled in normal deployments. Requests are limited to HTTPS on port 443 and cloud metadata over plain HTTP on another port is not reachable through this path.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"first_public_at":"2026-10-30T19:18:28+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-61840","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61840","severity":null,"published_at":"2026-10-30T19:18:28+00:00","modified_at":"2026-10-30T19:18:28+00:00","first_seen_at":"2026-10-30T19:25:29+00:00","fetched_at":"2026-10-30T19:25:29+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}