CVE-2026-1605:
Java 취약성 분석 및 완화
개요
CVE-2026-1605 is a memory leak (resource exhaustion) vulnerability in Eclipse Jetty's GzipHandler class that can be exploited to cause denial of service via off-heap out-of-memory errors (OOMEs). It affects Eclipse Jetty versions 12.0.0–12.0.31 and 12.1.0–12.1.5 (Maven artifact org.eclipse.jetty:jetty-server). The vulnerability was published on March 5, 2026, and carries a CVSS v3.1 base score of 7.5 (High) (Github Advisory, Red Hat).
기술적 세부 사항
The root cause is a missing resource release (CWE-401 / CWE-772) leading to uncontrolled resource consumption (CWE-400) in GzipHandler.handle(). When a compressed HTTP request (Content-Encoding: gzip) is received, a JDK Inflater object is allocated via GzipRequest to decompress the request body. However, gzipRequest.destroy() — which returns the Inflater to the pool — is only invoked when the response is also compressed (i.e., when GzipResponseAndCallback is created). If the response is not compressed (no Accept-Encoding: gzip from the client or the handler does not compress the response), the destroy callback is never triggered, causing the Inflater to leak. Repeated exploitation accumulates thousands of java.util.zip.Inflater objects consuming both Java heap and native memory, ultimately crashing the JVM with an OOME. The fix requires wrapping the callback whenever a GzipRequest is created, not only when deflation is also needed (Github Advisory).
영향
Successful exploitation results in progressive memory exhaustion — both Java heap and native off-heap memory — leading to JVM crashes with OutOfMemoryError. The impact is limited to availability (no confidentiality or integrity loss), but the denial of service can render the affected Jetty server completely unavailable. Downstream products embedding Jetty (e.g., IBM Business Automation Insights, IBM EDB PGAI Hybrid Management, Red Hat AMQ Broker) are also affected (Red Hat Bugzilla, IBM Advisory).
착취 단계
- Reconnaissance: Identify internet-facing Eclipse Jetty servers running versions 12.0.0–12.0.31 or 12.1.0–12.1.5 using tools like Shodan, Censys, or HTTP banner grabbing (e.g.,
Server: Jetty/12.x.xresponse header). - Confirm GzipHandler is active: Send a test HTTP request with
Accept-Encoding: gzipand observe whether the response includesContent-Encoding: gzip. If so, GzipHandler is likely enabled. - Craft the exploit request: Prepare an HTTP POST (or other body-bearing method) request with a gzip-compressed body (
Content-Encoding: gzip) but withoutAccept-Encoding: gzipin the request headers, ensuring the server will not compress its response. - Flood the server: Repeatedly send these crafted requests in a loop or using a tool like
curl,ab, or a custom script. Each request causes a newjava.util.zip.Inflaterobject to be allocated and never released. - Trigger OOM: After sufficient requests, the accumulated unreleased
Inflaterobjects exhaust Java heap and native memory, causing the JVM to crash with anOutOfMemoryError, resulting in service unavailability (Github Advisory).
타협의 징후
- Network: High volume of HTTP requests with
Content-Encoding: gzipbut lackingAccept-Encoding: gzipheaders from a single or small set of source IPs; unusual sustained POST/PUT traffic to Jetty endpoints. - Logs: Jetty access logs showing repeated compressed-body requests without corresponding compressed responses; Java exception logs containing
java.lang.OutOfMemoryErroror GC overhead limit exceeded errors. - Process/JVM: Rapidly growing JVM heap and native memory usage observable via JVM monitoring tools (e.g., JConsole, VisualVM, Prometheus JMX exporter); heap dumps revealing thousands of
java.util.zip.Inflaterinstances. - System: Unexpected Jetty process crashes or restarts; OS-level memory exhaustion alerts from monitoring systems.
완화 및 해결 방법
Upgrade Eclipse Jetty to version 12.0.32 (for the 12.0.x branch) or 12.1.6 (for the 12.1.x branch), which contain the fix ensuring gzipRequest.destroy() is always called upon request completion (Github Advisory). As an immediate workaround if patching is not possible, disable GzipHandler entirely, or implement network-level rate limiting on gzip-compressed HTTP requests. Additionally, monitor JVM memory consumption for unexpected growth patterns that may indicate exploitation. Downstream product users should apply vendor-specific patches: Red Hat AMQ Broker 7.14.0 via RHSA-2026:8509, and IBM products via their respective security bulletins (Red Hat Bugzilla, IBM Advisory).
커뮤니티 반응
The vulnerability was reported by community researchers glebashnik and bjorncs via the Jetty project's security advisory process (Github Advisory). Red Hat triaged it as high severity and tracked it via Bugzilla with a broad CC list spanning multiple product teams, indicating wide internal impact assessment (Red Hat Bugzilla). Social media activity was limited to automated CVE tracking posts on Bluesky and Mastodon. The Apache Kafka community also referenced the vulnerability in the context of a KIP proposal to shadow Jetty dependencies.
추가 자료
근원: 이 보고서는 AI를 사용하여 생성되었습니다.
관련 Java 취약점:
무료 취약성 평가
클라우드 보안 태세를 벤치마킹합니다
9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.
추가 Wiz 리소스
맞춤형 데모 받기
맞춤형 데모 신청하기
"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."