High severity · published Feb 25, 2026
CVE-2026-27700
Hono is Vulnerable to Authentication Bypass by IP Spoofing in AWS Lambda ALB conninfo
7.5
CVSS
0.3%
EPSS
No
On KEV
Description
Hono is a Web application framework that provides support for any JavaScript runtime. In versions 4.12.0 and 4.12.1, when using the AWS Lambda adapter (`hono/aws-lambda`) behind an Application Load Balancer (ALB), the `getConnInfo()` function incorrectly selected the first value from the `X-Forwarded-For` header. Because AWS ALB appends the real client IP address to the end of the `X-Forwarded-For` header, the first value can be attacker-controlled. This could allow IP-based access control mechanisms (such as the `ipRestriction` middleware) to be bypassed. Version 4.12.2 patches the issue.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 19% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
HO
hono · honojs
>= 4.12.0, < 4.12.2 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-27700
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-27700
Patch
https://github.com/honojs/hono/commit/41adbf56e252c04611f8972364ac0887ae07a4c7
Product
https://github.com/honojs/hono/releases/tag/v4.12.2
Vendor Advisory
https://github.com/honojs/hono/security/advisories/GHSA-xh87-mx6m-69f3
More from hono
9.8
CVE-2026-29045
Hono: Arbitrary file access via serveStatic vulnerability
8.1
CVE-2025-62610
Hono Improperly Authorizes JWT Audience Validation
7.5
CVE-2026-39408
Hono has a path traversal in toSSG() allows writing files outside the output directory
7.5
CVE-2025-58362
Hono contains a flaw in URL path parsing, potentially leading to path confusion
7.1
CVE-2026-54290
Hono: CORS Middleware reflects any Origin with credentials when `origin` defaults to the wildcard
