// threat brief

DBHub HTTP mode DNS rebinding: a malicious web page can run SQL on your database through your browser

CVSS
9.3 CRITICAL
CISA KEV
Not listed
Weakness
CWE-306 · CWE-346

PlainCVE Team · Published 2026-09-30 · AI-assisted · Press brief ↓

AI review 2026-09-30 (not human-reviewed)Command tests: none yetReproduced: not yetVerification record ↓

DBHub's HTTP mode had no login and a bypassable origin check, so a malicious web page could use DNS rebinding to run SQL via a victim's browser.

Who is affectedUsers and organizations running @bytebase/dbhub 0.22.4 or earlier (before 0.22.5) in HTTP transport mode (--transport http or the environment variable TRANSPORT=http). The default stdio mode is not affected by this browser-based attack.
What happensIf a victim opens an attacker-controlled web page, their machine can reach the DBHub HTTP server, and the attacker controls a hostname they can rebind to that server, the attacker can call DBHub's MCP tools through the victim's browser: reading and listing database contents, and possibly writing to them depending on the tool permissions and database credentials.
What to do nowUpgrade to 0.22.5 or later. Affected versions have no setting that blocks this attack; until you can upgrade, use the unaffected stdio mode instead of HTTP mode.
Affected versions0.22.4 and earlier (the maintainer advisory lists <= 0.22.4 and the CVE record lists < 0.22.5, which is the same range); the advisory tested 0.21.2
Fixed versions0.22.5 or later (maintainer advisory and CVE record)
CVSS vector
Show full vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Timeline
  • First public 2026-06-24

Blue team playbook

Check, fix / mitigate, respond, harden. Matching the affected versions does not mean you were compromised, and a check that finds nothing does not prove you are safe; each item says what it can and cannot show. Tagged steps point to where the attack flow below can be stopped.

DETECTCheckAm I affected? Any signs of compromise?
  1. 01Check your version

    Any @bytebase/dbhub version below 0.22.5 (that is, 0.22.4 or earlier) falls in the affected range listed in the maintainer advisory and the CVE record.

    Read-only check
    npm ls @bytebase/dbhub
  2. 02Check whether it runs in HTTP mode

    Only HTTP transport mode is affected by this attack path; the default stdio mode is not. Vendor docs say the transport can be set with the --transport flag, the TRANSPORT environment variable or a .env file, so this command looks for both the command-line flag and the process environment variable. Limitations: it only sees the environment of processes you are allowed to read (other users' processes or processes inside containers may not show up), and it cannot read .env files; no output does not mean HTTP mode is off, so also check TRANSPORT in DBHub's .env file, docker compose file or service config. Also check the bind address: the default 0.0.0.0 exposes it on every network interface.

    Read-only check
    ps axeww | grep -i '[d]bhub' | grep -oE -- '--transport[= ]+[a-z]+|TRANSPORT=[a-z]+'
  3. 03Look for unexplained database activity

    We found no detection guidance in the sources we reviewed. PlainCVE suggests reviewing query and change logs for the database account DBHub uses, looking for activity that neither you nor your AI tools initiated.

MITIGATEFix / mitigatePatch; block it if you cannot patch yet
  1. 01Upgrade to 0.22.5 or later

    The maintainer advisory and the CVE record both list 0.22.5 as the fixed version. This command changes your project's dependencies; for a global install use npm install -g, and if you launch with npx, put a version after the package name (for example @bytebase/dbhub@latest).

    Changes your environment
    npm install @bytebase/dbhub@latest
  2. 02Confirm the installed version

    Lists the @bytebase/dbhub versions installed in the project and globally; confirm they are all 0.22.5 or later. If it is not installed there, npm prints the project (or global) path followed by "└── (empty)" and exits with a non-zero code.

    Read-only check
    npm ls @bytebase/dbhub; npm ls -g @bytebase/dbhub
  3. 03After upgrading: keep the host allow-list and add token authentication

    Affected versions have neither option: --allowed-hosts was added by the fix itself, PR #340 (from 0.22.5), and --auth-token was added by PR #390 and only ships from 1.2.0 (PR #340 says token auth was out of scope and tracked in issue #66). Per vendor docs, the new version allows only loopback and this machine's own hostnames and IPs by default and rejects other Host values with 403; you only need --allowed-hosts to add names used through a reverse proxy or custom domain, and "*" turns the protection off. --auth-token is off by default and must be configured.

  4. 04Can't upgrade yet: switch to stdio mode

    Affected versions have no setting that blocks this attack. The vendor advisory states stdio mode is not affected by this browser attack path, so don't run in HTTP mode until you upgrade. Limiting which networks can reach it is not enough, because DNS rebinding is launched from a victim's own browser inside the trusted network (our analysis).

RESPONDRespondIf you find signs of compromise
  1. 01Rotate database credentials and check data

    PlainCVE suggestion: if you find suspicious activity, rotate the database credentials DBHub uses and check whether data was altered. This is a precaution; we found no incident response guidance in the sources we reviewed.

HARDENHardenPrevent the next one
  1. 01Least-privilege database credentials

    The vendor advisory says impact depends on tool permissions and database credentials, and severity may become Critical with production or broadly privileged credentials.

  2. 02Don't expose local dev tools on every interface

    Our analysis: narrowing the bind address reduces who can reach it, but DNS rebinding works through the victim's own browser, so the bind address alone is not enough; you still need the host allow-list (from 0.22.5) and a token (from 1.2.0).

Full remediation steps and notes
  1. Upgrade: npm install @bytebase/dbhub@latest (or pin a new version when launching with npx), and confirm the version is 0.22.5 or later (the fixed version in the maintainer advisory and CVE record).
  2. If you can’t upgrade yet: affected versions have no setting that blocks this attack. --allowed-hosts was only added by the fix, PR #340, and --auth-token came later, added by PR #390 and available from 1.2.0. Until you upgrade, use stdio mode (vendor advisory: not affected by this attack path) instead of HTTP mode.
  3. HTTP mode settings after upgrading (per vendor docs): the new version allows only loopback and this machine’s own hostnames and IPs by default; if you connect through a reverse proxy or custom domain, use --allowed-hosts to add only the names you actually use, and do not set it to "*", which turns DNS rebinding protection off. Once on 1.2.0 or later, also set --auth-token, which is off by default.
  4. Caveat: binding only to localhost, or only letting trusted networks reach it, is not enough against DNS rebinding, because the attack comes from the victim’s own browser inside that network (our analysis).

Attack flow

Read left to right: this is the order the attack happens in. A blue shield means the step can be stopped; the earlier, the better. Click an icon for details.

Read top to bottom: this is the order the attack happens in. A blue shield means the step can be stopped; the earlier, the better. Tap an icon for details.

DBHub HTTP mode DNS rebinding: a malicious web page can run SQL on your database through your browser: 1. DBHub runs in HTTP mode with no authentication → 2. Lures the victim to an attacker-controlled web page → 3. Rebinds their own hostname to the DBHub server → 4. The origin check wrongly treats the request as trusted → 5. Calls MCP tools and runs SQL through the victim's browserCVE-2026-61742 · DBHub HTTP mode DNS rebinding: a malicious web page can run SQL on your database throughyour browserAttackerYour systemDBHub runs in HTTP mode with no authentication — When started with --transport http, the /mcp endpoint accepts tool calls without any token or secret. Vendor docs note the default bind address 0.0.0.0 exposes it on every network interface. 1DBHub runs in HTTPmode with noauthenticationLures the victim to an attacker-controlled web page — The victim's machine must be able to reach the DBHub HTTP server. 2Lures the victimto anattacker-controlledweb pageRebinds their own hostname to the DBHub server — This is DNS rebinding: the browser still thinks it is talking to the attacker's site, but the requests now go to DBHub. 3Rebinds their ownhostname to theDBHub serverThe origin check wrongly treats the request as trusted — Older versions only checked that the Origin and Host headers named the same host, not that the host was on an allow-list; after rebinding, both carry the attacker's hostname, so they match. 4The origin checkwrongly treats therequest as trustedCalls MCP tools and runs SQL through the victim's browser — No prompt injection or AI model is needed. With the demo config it can read and write the demo SQLite database; with a real database it can read and list, and possibly write, data depending on tool permissions and database credentials. 5Calls MCP toolsand runs SQLthrough thevictim's browserAttack pathCan be stopped herePlainCVE · plaincve.date/en/vulns/cve-2026-61742-dbhub-mcp-dns-rebinding · CC BY 4.0
DBHub HTTP mode DNS rebinding: a malicious web page can run SQL on your database through your browser: 1. DBHub runs in HTTP mode with no authentication → 2. Lures the victim to an attacker-controlled web page → 3. Rebinds their own hostname to the DBHub server → 4. The origin check wrongly treats the request as trusted → 5. Calls MCP tools and runs SQL through the victim's browserCVE-2026-61742 · DBHub HTTP mode DNSrebinding: a malicious web page can runSQL on your database through your browserDBHub runs in HTTP mode with no authentication — When started with --transport http, the /mcp endpoint accepts tool calls without any token or secret. Vendor docs note the default bind address 0.0.0.0 exposes it on every network interface. 1Your systemDBHub runs in HTTP mode with noauthenticationLures the victim to an attacker-controlled web page — The victim's machine must be able to reach the DBHub HTTP server. 2AttackerLures the victim to anattacker-controlled web pageRebinds their own hostname to the DBHub server — This is DNS rebinding: the browser still thinks it is talking to the attacker's site, but the requests now go to DBHub. 3AttackerRebinds their own hostname tothe DBHub serverThe origin check wrongly treats the request as trusted — Older versions only checked that the Origin and Host headers named the same host, not that the host was on an allow-list; after rebinding, both carry the attacker's hostname, so they match. 4Your systemThe origin check wrongly treatsthe request as trustedCalls MCP tools and runs SQL through the victim's browser — No prompt injection or AI model is needed. With the demo config it can read and write the demo SQLite database; with a real database it can read and list, and possibly write, data depending on tool permissions and database credentials. 5AttackerCalls MCP tools and runs SQLthrough the victim's browserAttack pathCan be stopped herePlainCVE · CC BY 4.0plaincve.date/en/vulns/cve-2026-61742-dbhub-mcp-dns-rebinding
Free to use in reporting and teaching under CC BY 4.0. Attribution is already on the image.
  1. Your system

    DBHub runs in HTTP mode with no authentication

    When started with --transport http, the /mcp endpoint accepts tool calls without any token or secret. Vendor docs note the default bind address 0.0.0.0 exposes it on every network interface.

    Defense: Use the default stdio mode when you don't need HTTP; if you do, upgrade to 1.2.0 or later and set --auth-token (the option only exists from 1.2.0).

  2. Attacker

    Lures the victim to an attacker-controlled web page

    The victim's machine must be able to reach the DBHub HTTP server.

  3. Attacker

    Rebinds their own hostname to the DBHub server

    This is DNS rebinding: the browser still thinks it is talking to the attacker's site, but the requests now go to DBHub.

    Defense: Upgrade to 0.22.5 or later: the new version checks Host against an allow-list and rejects other values with 403; add extra hostnames with --allowed-hosts (never "*").

  4. Your system

    The origin check wrongly treats the request as trusted

    Older versions only checked that the Origin and Host headers named the same host, not that the host was on an allow-list; after rebinding, both carry the attacker's hostname, so they match.

    Defense: Upgrade to 0.22.5 or later (the fixed version in the maintainer advisory and CVE record). According to fix PR

  5. Attacker

    Calls MCP tools and runs SQL through the victim's browser

    No prompt injection or AI model is needed. With the demo config it can read and write the demo SQLite database; with a real database it can read and list, and possibly write, data depending on tool permissions and database credentials.

    Defense: Give the database account DBHub uses the least privilege possible, such as read-only.

Who is affected

DBHub, made by Bytebase, is a database MCP server (MCP is a protocol that lets AI assistants call external tools) for Postgres, MySQL, SQL Server, Oracle, MariaDB and SQLite. The npm package is @bytebase/dbhub.

ConditionAffected?
0.22.4 or earlier + running in HTTP mode (--transport http or environment variable TRANSPORT=http)Affected (maintainer advisory, CVE record)
0.22.5 or laterFixed (maintainer advisory, CVE record)
Running in the default stdio modeVendor advisory: not affected by this browser attack path

The maintainer advisory lists the affected range as 0.22.4 and earlier with 0.22.5 as the patched version, matching the CVE record’s “before 0.22.5”; the version the advisory actually tested is 0.21.2.

For the attack to work, the victim must also open an attacker-controlled web page, the victim’s machine must be able to reach the DBHub HTTP server, and the attacker must control a hostname they can re-point at that server. Vendor docs also warn that HTTP mode binds to 0.0.0.0 by default, exposing it on every network interface.

How it works

Two gaps stack up here:

  1. No authentication (CWE-306). In the tested version, the HTTP-mode /mcp endpoint accepted tool calls without any token (an access pass), secret or CSRF-style credential.
  2. A weak origin check (CWE-346). The server tried to block browser requests from other websites, but it only confirmed that the hostnames in the Origin header (which site the request came from) and the Host header (which host it is addressed to) were the same. It did not check them against an explicit allow-list.

DNS rebinding exploits the second gap: the attacker gets the victim to open their page, then re-points their own domain at the DBHub server. The browser’s requests now carry the attacker’s domain in both Origin and Host, so they match and are treated as trusted. The vendor advisory says a malicious website can reliably call DBHub’s MCP tools from the victim’s browser this way, with no prompt injection and no AI model involved.

Impact: with the demo configuration, the demo SQLite database can be read and written; with a real database, contents can be read and listed, and possibly written, depending on DBHub’s tool permissions and the database credentials. No source claims operating-system code execution (our analysis: the known impact is running SQL and MCP tools through DBHub).

The flawed approach (conceptual illustration, not the original source code):

Show code example(js)
// Only checks that the two headers agree
if (hostname(req.headers.origin) === hostname(req.headers.host)) {
  allow(); // after DNS rebinding both are the attacker's domain, so they still match
}

A safer approach (conceptual illustration):

Show code example(js)
// Host must be on an explicit allow-list, and a valid token is required
if (allowedHosts.includes(hostname(req.headers.host)) && validToken(req)) {
  allow();
} else {
  reject(403);
}

The actual fix is PR #340, merged on 2026-06-24. According to its commit message, the new version no longer just checks that the two headers match; every request’s Host (and Origin, when present) must be on an explicit host allow-list, which includes loopback addresses by default. The “safer approach” above illustrates the principle; PR #340 says token authentication was out of scope and tracked in issue #66, and it was later added as --auth-token by PR #390, available from 1.2.0.

Timeline

DateEvent
2026-06-24 03:23 UTCFix PR #340 opened in the public repo; its description explains the root cause and lists advisory GHSA-fm8p-53ww-hf6w
2026-06-24 04:04 UTCFix PR #340 merged
2026-06-24 04:22 UTC0.22.5 published to npm
2026-06-24 04:25 UTCMaintainer publishes security advisory GHSA-fm8p-53ww-hf6w on GitHub
2026-07-10CVE ID reserved
2026-07-31PR #390 merged (adds --auth-token, closes issue #66); 1.2.0 published the same day
2026-09-24 17:30 UTCCVE record published
2026-09-24NVD receives the CVE, status “Received” (not yet analysed)
2026-09-24 19:36 UTCGitHub-reviewed advisory appears in OSV
2026-09-25Still not in CISA KEV

Per the npm registry and GitHub advisory timestamps, the maintainer published the security advisory about 3 minutes after 0.22.5 reached npm; the CVE record was not published until 2026-09-24, three months after the advisory.

Further reading

  • Scoring differences: the CNA (GitHub) gives CVSS 4.0 9.3 and GitLab gives CVSS 3.1 9.8, while the vendor advisory recommends High, possibly Critical with production or broadly privileged credentials. TheHackerWire labels it “Info”, which conflicts with every other source. NVD has not analysed it yet.
  • User interaction: the CVSS vector says no user interaction (UI:N), yet the advisory’s scenario needs the victim to open an attacker’s page. We think the UI:N rating is debatable.
  • PoC disagreement: the vendor advisory includes a reproducible PoC and CISA’s SSVC data marks exploitation as “poc” (also automatable, technical impact “total”); TheHackerWire says no public exploit code is confirmed.
  • Exploitation: not in CISA KEV as of 2026-09-25; no source reports exploitation in the wild, and there is no evidence of zero-day use.
  • No source says when the vulnerable code was introduced.
  • Related weakness types: CWE-306, CWE-346.

Verification Checked item by item against sources by AI under our review rules, all passed; not human-reviewed and not yet reproduced in our lab

AI review2026-09-30 · review rules

Verification records describe the environment and the result only, never reproduction steps or code that could attack other people’s systems. See our policy.

Sources

  1. AdvisoryGHSA-fm8p-53ww-hf6w — DBHub HTTP transport DNS rebinding allows unauthenticated browser-origin SQL execution · Bytebase (GitHub), 2026-06-24 · accessed 2026-09-28
  2. CVE / NVD / OSVCVE-2026-61742 Record · CVE Program, 2026-09-24 · accessed 2026-09-25
  3. CVE / NVD / OSVNVD - CVE-2026-61742 · NIST, 2026-09-24 · accessed 2026-09-25
  4. AdvisoryGitLab Advisory Database: CVE-2026-61742 in @bytebase/dbhub · GitLab · accessed 2026-09-25
  5. AdvisoryOSV: GHSA-fm8p-53ww-hf6w · OSV, 2026-09-24 · accessed 2026-09-25
  6. VendorDBHub command-line configuration · Bytebase · accessed 2026-09-28
  7. Patch / releasePR #340: fix: enforce Host allow-list on HTTP transport to block DNS rebinding · Bytebase (GitHub), 2026-06-24 · accessed 2026-09-28
  8. Patch / releasePR #390: feat(server): add bearer token auth for HTTP transport · Bytebase (GitHub), 2026-07-31 · accessed 2026-09-28
    Adds --auth-token; description says Fixes
  9. VendorDBHub v1.2.0 release notes · Bytebase (GitHub), 2026-07-31 · accessed 2026-09-28
    Lists PR
  10. Other@bytebase/dbhub npm registry metadata · npm · accessed 2026-09-28
    Publish time of each version (time field)
  11. ResearchCVE-2026-61742: Missing Authentication for Critical Function in bytebase dbhub · OffSeq · accessed 2026-09-25
  12. NewsCVE-2026-61742 · TheHackerWire · accessed 2026-09-25

Press brief

In one sentence

DBHub, an open-source tool from Bytebase, lets AI assistants reach databases such as Postgres and MySQL through the MCP protocol. Its HTTP mode had no authentication and an origin check that DNS rebinding could bypass, so a user who opened a malicious web page could let an attacker run SQL on their database through their browser, if their machine could reach the DBHub HTTP server and the attacker controlled a hostname they could rebind to it. The maintainer advisory and the CVE record both say version 0.22.5 fixes it; no source reports exploitation in the wild.

Key facts

Severity (CNA)
CVSS 4.0 9.3 (Critical) cveawg.mitre.org
Severity (GitLab)
CVSS 3.1 9.8 advisories.gitlab.com
Vendor-recommended severity
High; possibly Critical with production or privileged credentials github.com
Fixed version
0.22.5 github.com
Maintainer advisory published
2026-06-24 github.com
CVE published
2026-09-24 cveawg.mitre.org

Confirmed

  • DBHub's HTTP-mode /mcp endpoint required no authentication, and its origin check only compared Origin and Host for equality, which DNS rebinding bypasses.
  • The default stdio mode is not affected by this browser attack path.
  • As of 2026-09-25, it is not in CISA's Known Exploited Vulnerabilities catalog.

Unconfirmed / disputed

  • Severity varies: CNA 9.3, GitLab 9.8, vendor advisory recommends High, and TheHackerWire labels it Info.
  • Sources disagree on a public PoC: the vendor advisory includes one and CISA data marks it "poc"; TheHackerWire says no public exploit is confirmed.
  • No source reports exploitation in the wild, and there is no evidence it was exploited as a zero-day.

Quotable line

This flaw doesn't require breaking into a server; it just gets your own browser to knock on your database's door for the attacker.

Images

Download the share image (PNG) · Attack flow diagram (downloadable)

Please credit "PlainCVE" and link to this page. Full citation format is under "How to cite" below. Found a factual error? Report it.

How to cite this page

This article is CC BY 4.0. Please keep the attribution and link when republishing.

PlainCVE Team (2026). "DBHub HTTP mode DNS rebinding: a malicious web page can run SQL on your database through your browser". PlainCVE. https://plaincve.date/en/vulns/cve-2026-61742-dbhub-mcp-dns-rebinding (accessed YYYY-MM-DD)
BibTeX
@misc{cve202661742dbhubmcpdnsrebinding2026,
  title  = {DBHub HTTP mode DNS rebinding: a malicious web page can run SQL on your database through your browser},
  author = {PlainCVE Team},
  year   = {2026},
  howpublished = {PlainCVE},
  url    = {https://plaincve.date/en/vulns/cve-2026-61742-dbhub-mcp-dns-rebinding},
  note   = {Updated 2026-09-30}
}