🔍 CVE-2026-69207

5.3
CVSS Score
MEDIUM
2026-08-07
2026-10-24 16:10
✅ 완료

🇰🇷 한글 설명

Hono 4.12.34 이전 버전의 내장 CORS 미들웨어(hono/cors)는 preflight OPTIONS 요청에서 공격자가 제어하는 Access-Control-Request-Headers 헤더를 공백을 허용하는 정규식으로 파싱하며, 이때 백트래킹으로 인해 실행 시간이 입력 길이의 제곱에 비례합니다. 기본 설정에서 allowHeaders가 비어 있으면 이 경로가 실행되어 서비스 거부(ReDoS)가 발생할 수 있습니다. 4.12.34 버전에서 수정되었습니다.

💡 쉬운 설명

웹 서버가 특정 요청을 처리할 때 아주 긴 공백이 포함된 헤더를 받으면 과도하게 많은 CPU를 사용하게 됩니다. 이로 인해 서버가 느려지거나 다른 요청을 처리하지 못하는 상태가 될 수 있습니다.

🇺🇸 원문 (English)

Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.34, the built-in CORS middleware, hono/cors, is vulnerable to a regular expression denial of service (ReDoS). During a preflight OPTIONS request, the middleware parses the attacker-controlled Access-Control-Request-Headers header using a whitespace-tolerant regular expression whose backtracking makes its running time quadratic in the input length. Because the header value is bounded only by the deployment's maximum HTTP header size, a single preflight carrying a long run of whitespace can consume seconds of CPU and block request processing. On runtimes that share one execution thread across requests, this stalls concurrent requests as well, and repeated requests can render the service unresponsive. This affects the default configuration, since the vulnerable path is reached whenever cors() is used with an unset or empty allowHeaders. Applications that set a non-empty allowHeaders are not affected. This issue is fixed in version 4.12.34.

📍 영향받는 시스템

Hono 4.12.34 미만 버전을 사용하며 cors()를 allowHeaders 미설정 또는 빈 값으로 사용하는 애플리케이션

⚔️ 공격 벡터

공격자가 긴 공백 문자열을 포함한 Access-Control-Request-Headers 헤더를 가진 preflight OPTIONS 요청을 반복 전송하여 CPU를 점유하고 서비스를 중단시킴

🛡️ 대응 방법

Hono를 4.12.34 이상으로 업그레이드하거나, cors() 사용 시 allowHeaders를 비어 있지 않은 값으로 명시 설정

🔧 검증 코드

출력된 hono 버전이 4.12.34 미만이면 취약하므로 업그레이드가 필요하며, 4.12.34 이상이면 패치가 적용된 것입니다.

Shell / Script
npm ls hono 2>/dev/null | grep -E 'hono@'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

💻 영향받는 소프트웨어

Oracle Java SE