Hono is Vulnerable to Authentication Bypass by IP Spoofing in AWS Lambda ALB conninfo
cve-program · CVE-2026-27700
PublishedHono 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.
Read the publisher's advisoryeuvd · EUVD-2026-8644
PublishedHono 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.
Read the publisher's advisorynvd · CVE-2026-27700
PublishedHono 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.
Read the publisher's advisoryosv · GHSA-xh87-mx6m-69f3
Published## Summary 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. ## Details In ALB environments, AWS appends the actual client IP address to the end of any existing `X-Forwarded-For` header value. However, the previous implementation of `getConnInfo()` extracted the leftmost IP address: ```ts address = xff.split(',')[0].trim() ``` If a client sent: ``` X-Forwarded-For: <spoofed-ip> ``` ALB would forward: ``` X-Forwarded-For: <spoofed-ip>, <real-client-ip> ``` Since the implementation selected the first value, the spoofed IP address was trusted. This affected applications using: ```ts ipRestriction(getConnInfo, { allowList: [...] }) ``` or any custom middleware relying on `getConnInfo(c).remote.address` for authorization decisions. The issue only affects deployments using the AWS Lambda adapter behind an ALB. API Gateway (v1/v2) and Lambda Function URLs are not affected, as they use AWS-provided source IP values from `requestContext`. ## Impact An unauthenticated remote attacker could bypass IP-based access restrictions by supplying a crafted `X-Forwarded-For` header. This may allow access to resources that were intended to be restricted by IP address. Only applications deployed behind an ALB and relying on `getConnInfo()` for IP-based authorization are affected.
Read the publisher's advisoryAffected versions, risk and source history
Related advisories and sources
Publishers link these advisories through the identifiers shown below. A shared identifier or date alone does not tell you whether your software is affected or whether the advisories describe the same cause.
CVE-2026-27700 · CVE overview and exploitation status
cve-program · CVE-2026-27700
- https://github.com/honojs/hono/security/advisories/GHSA-xh87-mx6m-69f3
- https://github.com/honojs/hono/commit/41adbf56e252c04611f8972364ac0887ae07a4c7
- https://github.com/honojs/hono/releases/tag/v4.12.2
euvd · EUVD-2026-8644
- https://github.com/honojs/hono/security/advisories/GHSA-xh87-mx6m-69f3
- https://github.com/honojs/hono/commit/41adbf56e252c04611f8972364ac0887ae07a4c7
- https://github.com/honojs/hono/releases/tag/v4.12.2
nvd · CVE-2026-27700
- https://github.com/honojs/hono/commit/41adbf56e252c04611f8972364ac0887ae07a4c7
- https://github.com/honojs/hono/releases/tag/v4.12.2
- https://github.com/honojs/hono/security/advisories/GHSA-xh87-mx6m-69f3
osv · GHSA-xh87-mx6m-69f3
Related changes
Linked by CVE identifierNo related changes are available here.