Home

Description

Koa is middleware for Node.js using ES2017 async functions. Prior to versions 3.1.2 and 2.16.4, Koa's `ctx.hostname` API performs naive parsing of the HTTP Host header, extracting everything before the first colon without validating the input conforms to RFC 3986 hostname syntax. When a malformed Host header containing a `@` symbol is received, `ctx.hostname` returns `evil[.]com` - an attacker-controlled value. Applications using `ctx.hostname` for URL generation, password reset links, email verification URLs, or routing decisions are vulnerable to Host header injection attacks. Versions 3.1.2 and 2.16.4 fix the issue.

PUBLISHED Reserved 2026-02-25 | Published 2026-02-26 | Updated 2026-02-26 | Assigner GitHub_M




HIGH: 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Problem types

CWE-20: Improper Input Validation

Product status

>= 3.0.0, < 3.1.2
affected

< 2.16.4
affected

References

github.com/koajs/koa/security/advisories/GHSA-7gcc-r8m5-44qm

github.com/...ommit/55ab9bab044ead4e82c70a30a4f9dc0fc9c1b6df

github.com/...ommit/b76ddc01fdb703e51652b0fd131d16394cadcfeb

cve.org (CVE-2026-27959)

nvd.nist.gov (CVE-2026-27959)

Download JSON