highVulnerability

GHSA-v52w-28xh-v562

Kozou compiles a PostgreSQL schema into an Admin UI, a REST API, and an MCP server. Several hardening gaps in the bundled HTTP surfaces and the scaffolded dev stack are fixed in **1.8.1**. ## Issues 1. **MCP HTTP server lacked DNS-rebinding protection.** The Streamable HTTP transport is unauthenticated and loopback by default. Without `Host`/`Origin` validation, a malicious web page in the operator's browser could rebind a hostname it controls to the loopback address and drive the MCP endpoint — reading schema metadata, or (when the opt-in `call` execution tool is enabled) executing exposed functions as the execution role. 2. **Unbounded request-body buffering (DoS).** Both the MCP HTTP server and the in-house REST server read the entire request body into memory with no size limit, so a reachable client could drive the process toward memory exhaustion. 3. **Read requests ran in a read/write transaction.** The shared role-transaction envelope opened every request with a plain `BEGIN`, so a `GET` ran read/write. A `SELECT` that reaches a volatile function or a writable / `INSTEAD`-triggered view could perform a write that then commits — the "a GET only reads" contract was left to the serving role's grants rather than enforced. 4. **No-auth dev surfaces published on all interfaces by default.** The scaffolded `docker-compose.yml` (and the quickstart) published the unauthenticated Admin UI and MCP HTTP server — and the default-credential demo database — on every host interface, and the config defaulted those binds to `0.0.0.0`. ## What changed in 1.8.1 - **DNS-rebinding guard (MCP HTTP):** the server validates the `Host` header (and a present `Origin`) against an allowlist before handling any request, on every route. Matching is on the hostname; loopback names are always accepted and an operator can add hosts via configuration. A browser cannot forge `Host`/`Origin`, so this closes the rebinding vector. (This is a browser-rebinding defence; network reachability o

Properties

ghsa_id
GHSA-v52w-28xh-v562
summary
Kozou: Unauthenticated MCP HTTP server and bundled dev-stack hardening (DNS-rebinding, request-body limits, read-only reads, default network exposure)
severity
high
cve_id
GHSA-v52w-28xh-v562
is_ghsa_only
true
ghsa_published
2026-06-19T20:47:19Z
source_url
https://github.com/advisories/GHSA-v52w-28xh-v562
ghsa_updated
2026-06-19T20:47:20Z

Related Entities (13)

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (4)

[Software]npm/@kozou/core
[Software]npm/@kozou/mcp
[Software]npm/kozou
[Software]npm/@kozou/api

AFFECTS (4)

[Software]npm/@kozou/core
[Software]npm/kozou
[Software]npm/@kozou/mcp
[Software]npm/@kozou/api

HAS_WEAKNESS (4)

[Weakness]Origin Validation Error
[Weakness]Allocation of Resources Without Limits or Throttling
[Weakness]Least Privilege Violation
[Weakness]Initialization of a Resource with an Insecure Default

Explore deeper with Ninja Signal's threat intelligence graph

GHSA-v52w-28xh-v562 — Ninja Signal Threat Intelligence | Ninja Signal