Cloudanix VulnDB

CVE-2025-55163

None

Netty affected by MadeYouReset HTTP/2 DDoS vulnerability

CVSS

—

EPSS

1.1%

Published

Aug 13, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in how some systems handle modern web connections can let attackers overwhelm affected services and make them unavailable.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Network Service
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

This is a denial-of-service flaw in HTTP/2 stream accounting. By sending malformed HTTP/2 control frames, an attacker can cause affected implementations to mishandle the maximum concurrent streams limit, allowing more effective resource consumption than intended. The impact is exhaustion of server-side resources such as connection state, memory, CPU, worker/event-loop capacity, and upstream request handling capacity, potentially causing degraded performance or service unavailability. The issue is product- and implementation-dependent and is fixed in the listed package versions or commits.

Why it matters to the business

Successful exploitation can make internet-facing applications, APIs, gateways, or services that accept HTTP/2 traffic slow or unavailable, affecting customer access, transaction processing, service-level objectives, and incident response workload. Although this CVE is not currently in CISA KEV, is not associated with ransomware use, and has a low EPSS score, it is a protocol-level DDoS condition that can be amplified by distributed traffic and should be prioritized for externally reachable services and shared platform components. The presence of common networking libraries such as Netty increases downstream exposure where applications embed vulnerable versions indirectly.

How an attack unfolds

An attacker first identifies an endpoint that supports HTTP/2, often through TLS ALPN negotiation or prior knowledge of an API gateway, reverse proxy, application server, or service endpoint. The attacker then opens HTTP/2 connections and sends specially malformed control-frame sequences designed to confuse stream-limit enforcement. Instead of the endpoint reliably enforcing its configured maximum concurrent streams value, the vulnerable implementation can allocate or retain excessive per-stream or per-connection state. Repeating this across many connections, and especially from many source addresses, can consume CPU, memory, event-loop threads, or connection handling capacity until legitimate clients experience latency, errors, resets, or outages. The campaign label associated with this class of issue is MadeYouReset, but exploitation is fundamentally a DDoS technique rather than a data theft or code execution path.

How to fix it

Upgrade affected dependencies and downstream products to fixed versions. For Rust cargo packages, upgrade risc0-circuit-rv32im to 3.0.0 or later, risc0-zkvm to 2.2.0 or later, and risc0-circuit-rv32im-sys to 3.0.0 or later. For Netty, use a release or build that includes commit 7fefa5a9d6f2bf41b6b304cfe26b2e193d8f326a or a later vendor-advised fixed version. Regenerate lockfiles and redeploy applications that package vulnerable libraries. Where immediate upgrade is not possible, reduce exposure by disabling HTTP/2 on affected endpoints, terminating HTTP/2 at a patched CDN/load balancer/proxy, enforcing strict per-IP and per-connection rate limits, lowering idle and request timeouts, capping connection counts, and monitoring/limiting abnormal HTTP/2 control-frame behavior. Ensure mitigations are applied at every layer that independently accepts HTTP/2 traffic, not only at the outermost edge.

How to confirm the fix worked

Confirm fixed dependency versions using software composition analysis, SBOM review, cargo tree or lockfile inspection for Rust packages, and build/dependency inspection for Netty-based applications. Verify deployed artifacts, container images, and runtime classpaths contain the patched versions or a Netty build with commit 7fefa5a9d6f2bf41b6b304cfe26b2e193d8f326a or later. Confirm externally reachable services either no longer negotiate HTTP/2 where disabled or are fronted by a patched HTTP/2 terminator. Review load balancer, gateway, proxy, and application metrics to ensure active streams, HTTP/2 connection counts, reset rates, and error rates remain within expected limits under controlled testing. Use only authorized, rate-limited validation tests in non-production or approved production windows because aggressive HTTP/2 frame testing can itself cause denial of service.

Typical attack path

  1. Identify services that negotiate HTTP/2, especially public APIs, web applications, gateways, proxies, or Java/Netty-based services.
  2. Open one or more HTTP/2 connections to the target, commonly over TLS using ALPN value h2.
  3. Send malformed or abnormal HTTP/2 control-frame sequences intended to disrupt concurrent stream accounting.
  4. Create or manipulate stream state so the service exceeds expected per-connection concurrency controls.
  5. Repeat the behavior across many connections or distributed clients to increase CPU, memory, and connection-state pressure.
  6. Observe degraded service, elevated errors, connection resets, queue growth, or service unavailability for legitimate users.

How to detect it

To determine whether exploitation may have already occurred, review edge, CDN, load balancer, reverse proxy, API gateway, service mesh, and application logs for unusual HTTP/2 behavior correlated with resource saturation or availability incidents. Focus on bursts of HTTP/2 connections, abnormal control-frame errors, excessive stream creation, stream resets, GOAWAY frames, protocol errors, and cases where observed active streams appear to exceed configured maximum concurrent stream limits. For Netty-based services, inspect application logs for HTTP/2 codec exceptions, protocol errors, frame-size or stream-state errors, and event-loop starvation around the same time as latency, 5xx responses, container restarts, high CPU, high memory, or connection backlog growth. Network telemetry should be reviewed for many short-lived or long-held HTTP/2 connections, high RST_STREAM rates, repeated ALPN h2 negotiations, and distributed low-and-slow traffic patterns from many source IPs. Because this is a denial-of-service issue, evidence is more likely to appear as traffic and stability anomalies than as persistent files, new accounts, malware, or host-level persistence artifacts.

  • MadeYouReset
  • SETTINGS_MAX_CONCURRENT_STREAMS
  • RST_STREAM
  • GOAWAY
  • PROTOCOL_ERROR
  • ENHANCE_YOUR_CALM
  • HTTP/2 protocol error
  • http2 protocol error
  • HTTP2 protocol error
  • too many active streams
  • maximum concurrent streams
  • max concurrent streams
  • Maximum active streams violated
  • io.netty.handler.codec.http2.Http2Exception
  • io.netty.handler.codec.http2.Http2FrameCodec
  • io.netty.handler.codec.http2.Http2ConnectionHandler
  • ALPN h2

What your security team should do

  • Prioritize remediation for internet-facing HTTP/2 endpoints, API gateways, reverse proxies, and services using Netty or the affected Rust packages.
  • Upgrade risc0-circuit-rv32im to 3.0.0 or later, risc0-zkvm to 2.2.0 or later, risc0-circuit-rv32im-sys to 3.0.0 or later, and Netty builds to include commit 7fefa5a9d6f2bf41b6b304cfe26b2e193d8f326a or a later fixed release.
  • Run software composition analysis across source repositories, container images, and deployed artifacts to identify transitive dependency exposure.
  • If patching cannot be completed quickly, disable HTTP/2 or terminate it at a confirmed-patched CDN, load balancer, or reverse proxy.
  • Add monitoring for abnormal HTTP/2 frame errors, stream concurrency anomalies, RST_STREAM/GOAWAY spikes, and resource exhaustion indicators.
  • Coordinate with network and DDoS protection providers to enforce connection, stream, and request-rate controls for HTTP/2 traffic.
  • Review incident history since publication for unexplained HTTP/2-heavy traffic bursts, application restarts, resource saturation, or edge-layer 5xx spikes.

The record

The MadeYouReset DDoS vulnerability is a logical vulnerability in the HTTP/2 protocol, that uses malformed HTTP/2 control frames in order to break the max concurrent streams limit - which results in resource exhaustion and distributed denial of service.

Affected packages

Ecosystem Package Introduced Fixed
Maven io.grpc:grpc-netty-shaded 0 1.175.0
Maven io.grpc:grpc-netty-shaded 0 1.75.0
Maven io.netty:netty-codec-http2 0 4.1.124.Final
Maven io.netty:netty-codec-http2 4.2.0.Alpha1 4.2.4.Final
Chainguard akhq 0 0.26.0-r3
Chainguard apache-hop 0 2.15.0-r1
Chainguard apache-hop-fips 0 2.15.0-r1
Chainguard apache-nifi 0 2.5.0-r3
Chainguard apache-nifi-compat 0 2.5.0-r3
Chainguard apache-nifi-registry 0 2.6.0-r4
Chainguard apache-nifi-registry-toolkit 0 2.6.0-r4
Chainguard apache-nifi-toolkit 0 2.5.0-r3
Chainguard apache-pulsar 0 4.0.6-r1
Chainguard apache-pulsar-compat 0 4.0.6-r1
Chainguard apicurio-registry 0 3.0.12-r1
Chainguard apicurio-registry-nginx-config 0 3.0.12-r1
Chainguard apicurio-registry-ui 0 3.0.12-r1
Chainguard camunda-zeebe-8.5 0 8.5.22-r2
Chainguard camunda-zeebe-8.5-compat 0 8.5.22-r2
Chainguard camunda-zeebe-8.6 0 8.6.24-r1
Chainguard camunda-zeebe-8.6-compat 0 8.6.24-r1
Chainguard camunda-zeebe-8.7 0 8.7.10-r1
Chainguard camunda-zeebe-8.7-compat 0 8.7.10-r1
Chainguard celeborn-0.5-compat 0 0.5.4-r9
Chainguard celeborn-0.6-compat 0 0.6.1-r0
Chainguard debezium-connector-vitess-3.0 0 3.0.8-r7
Chainguard docker-selenium 0 4.38.0.20251101-r0
Chainguard docker-selenium-base 0 4.38.0.20251101-r0
Chainguard docker-selenium-compat 0 4.38.0.20251101-r0
Chainguard docker-selenium-distributor 0 4.38.0.20251101-r0
Chainguard docker-selenium-event-bus 0 4.38.0.20251101-r0
Chainguard docker-selenium-hub 0 4.38.0.20251101-r0
Chainguard docker-selenium-node-base 0 4.38.0.20251101-r0
Chainguard docker-selenium-node-chromium 0 4.38.0.20251101-r0
Chainguard docker-selenium-node-docker 0 4.38.0.20251101-r0
Chainguard docker-selenium-node-firefox 0 4.38.0.20251101-r0
Chainguard docker-selenium-router 0 4.38.0.20251101-r0
Chainguard docker-selenium-session-queue 0 4.38.0.20251101-r0
Chainguard docker-selenium-sessions 0 4.38.0.20251101-r0
Chainguard docker-selenium-standalone 0 4.38.0.20251101-r0
Chainguard docker-selenium-standalone-chromium 0 4.38.0.20251101-r0
Chainguard docker-selenium-standalone-docker 0 4.38.0.20251101-r0
Chainguard docker-selenium-standalone-firefox 0 4.38.0.20251101-r0
Chainguard docker-selenium-supervisor-config 0 4.38.0.20251101-r0
Chainguard druid 0 34.0.0-r1
Chainguard druid-compat 0 34.0.0-r1
Chainguard elasticsearch-8.17 0 8.17.10-r13
Chainguard elasticsearch-8.17-bitnami 0 8.17.10-r12
Chainguard elasticsearch-8.17-config 0 8.17.10-r13
Chainguard elasticsearch-8.19 0 8.19.2-r12
Chainguard elasticsearch-8.19-bitnami 0 8.19.2-r12
Chainguard elasticsearch-8.19-config 0 8.19.2-r12
Chainguard elasticsearch-8.19-iamguarded 0 8.19.2-r12
Chainguard elasticsearch-9.0 0 9.0.7-r0
Chainguard elasticsearch-9.0-bitnami 0 9.0.7-r0
Chainguard elasticsearch-9.0-config 0 9.0.7-r0
Chainguard elasticsearch-9.0-iamguarded 0 9.0.7-r0
Chainguard elasticsearch-9.1 0 9.1.6-r0
Chainguard elasticsearch-9.1-bitnami 0 9.1.2-r12
Chainguard elasticsearch-9.1-config 0 9.1.7-r0
Chainguard elasticsearch-9.1-iamguarded 0 9.1.6-r0
Chainguard elasticsearch-fips-8 0 8.19.2-r1
Chainguard elasticsearch-fips-8-bitnami 0 8.19.2-r1
Chainguard elasticsearch-fips-8-config 0 8.19.2-r1
Chainguard elasticsearch-fips-8-policy-140-2 0 8.19.2-r1
Chainguard elasticsearch-fips-8-policy-140-3 0 8.19.2-r1
Chainguard elasticsearch-fips-9.0 0 9.0.8-r0
Chainguard elasticsearch-fips-9.0-bitnami 0 9.0.8-r0
Chainguard elasticsearch-fips-9.0-config 0 9.0.8-r0
Chainguard elasticsearch-fips-9.1 0 9.1.3-r0
Chainguard elasticsearch-fips-9.1-bitnami 0 9.1.3-r0
Chainguard elasticsearch-fips-9.1-config 0 9.1.3-r0
Chainguard flyway 0 11.11.0-r1
Chainguard grpc-java-fips-1.56.0 0 1.56.0-r3
Chainguard hadoop-fips-3.3.6 0 3.3.6-r3
Chainguard hadoop-fips-3.3.6-compat 0 3.3.6-r3
Chainguard hadoop-fips-3.3.6-dev 0 3.3.6-r3
Chainguard hadoop-fips-3.3.6-m2 0 3.3.6-r3
Chainguard infinispan-15.1 0 15.1.7-r1
Chainguard infinispan-15.1-compat 0 15.1.7-r1
Chainguard infinispan-15.1-images 0 15.1.7-r1
Chainguard infinispan-15.2 0 15.2.5-r1
Chainguard infinispan-15.2-compat 0 15.2.5-r1
Chainguard infinispan-15.2-images 0 15.2.5-r1
Chainguard kafka-strimzi-compat 0 0.47.0-r3
Chainguard kafka_exporter-strimzi-compat 0 0.47.0-r3
Chainguard keycloak 0 26.3.2-r2
Chainguard keycloak-21.1 0 21.1.2-r4
Chainguard keycloak-21.1-bitnami-compat 0 21.1.2-r4
Chainguard keycloak-21.1-compat 0 21.1.2-r4
Chainguard keycloak-26.2 0 26.2.5-r1
Chainguard keycloak-26.2-bitnami-compat 0 26.2.5-r1
Chainguard keycloak-26.2-compat 0 26.2.5-r1
Chainguard keycloak-26.2-iamguarded-compat 0 26.2.5-r1
Chainguard keycloak-bitnami-compat 0 26.3.2-r2
Chainguard keycloak-compat 0 26.3.2-r2
Chainguard keycloak-iamguarded-compat 0 26.3.2-r2
Chainguard keycloak-operator 0 26.3.2-r1
Chainguard keycloak-operator-compat 0 26.3.2-r1
Chainguard knative-kafka-broker-1.17-dispatcher-loom 0 1.17.3-r5
Chainguard knative-kafka-broker-1.17-receiver-loom 0 1.17.3-r5
Chainguard localstack-compat 0 4.10.0-r0
Chainguard management-api-for-apache-cassandra-4.0 0 0.1.106-r1
Chainguard management-api-for-apache-cassandra-4.0-compat 0 0.1.106-r1
Chainguard management-api-for-apache-cassandra-4.1 0 0.1.106-r1
Chainguard management-api-for-apache-cassandra-4.1-compat 0 0.1.106-r1
Chainguard management-api-for-apache-cassandra-5.0 0 0.1.106-r1
Chainguard management-api-for-apache-cassandra-5.0-compat 0 0.1.106-r1
Chainguard neo4j-2025.03 0 2025.03.0-r6
Chainguard neo4j-2025.03-docker-publish 0 2025.03.0-r6
Chainguard neo4j-2025.06 0 2025.06.2-r7
Chainguard neo4j-2025.06-browser 0 2025.06.2-r7
Chainguard neo4j-2025.06-docker-publish 0 2025.06.2-r7
Chainguard opensearch-2 0 2.19.4-r0
Chainguard opensearch-2-alerting 0 2.19.4-r0
Chainguard opensearch-2-analysis-icu 0 2.19.4-r0
Chainguard opensearch-2-analysis-kuromoji 0 2.19.4-r0
Chainguard opensearch-2-analysis-nori 0 2.19.4-r0
Chainguard opensearch-2-analysis-phonetic 0 2.19.4-r0
Chainguard opensearch-2-analysis-smartcn 0 2.19.4-r0
Chainguard opensearch-2-analysis-stempel 0 2.19.4-r0
Chainguard opensearch-2-analysis-ukrainian 0 2.19.4-r0
Chainguard opensearch-2-anomaly-detection 0 2.19.4-r0
Chainguard opensearch-2-asynchronous-search 0 2.19.4-r0
Chainguard opensearch-2-cross-cluster-replication 0 2.19.4-r0
Chainguard opensearch-2-crypto-kms 0 2.19.4-r0
Chainguard opensearch-2-custom-codecs 0 2.19.4-r0
Chainguard opensearch-2-discovery-azure-classic 0 2.19.4-r0
Chainguard opensearch-2-discovery-ec2 0 2.19.4-r0
Chainguard opensearch-2-discovery-gce 0 2.19.4-r0
Chainguard opensearch-2-entrypoint-compat 0 2.19.4-r0
Chainguard opensearch-2-geospatial 0 2.19.4-r0
Chainguard opensearch-2-identity-shiro 0 2.19.4-r0
Chainguard opensearch-2-index-management 0 2.19.4-r0
Chainguard opensearch-2-ingest-attachment 0 2.19.4-r0
Chainguard opensearch-2-job-scheduler 0 2.19.4-r0
Chainguard opensearch-2-k-nn 0 2.19.4-r0
Chainguard opensearch-2-mapper-annotated-text 0 2.19.4-r0
Chainguard opensearch-2-mapper-murmur3 0 2.19.4-r0
Chainguard opensearch-2-mapper-size 0 2.19.4-r0
Chainguard opensearch-2-ml-commons 0 2.19.4-r0
Chainguard opensearch-2-neural-search 0 2.19.4-r0
Chainguard opensearch-2-notifications 0 2.19.4-r0
Chainguard opensearch-2-observability 0 2.19.4-r0
Chainguard opensearch-2-performance-analyzer 0 2.19.4-r0
Chainguard opensearch-2-reporting 0 2.19.4-r0
Chainguard opensearch-2-repository-azure 0 2.19.4-r0
Chainguard opensearch-2-repository-gcs 0 2.19.4-r0
Chainguard opensearch-2-repository-s3 0 2.19.4-r0
Chainguard opensearch-2-security 0 2.19.4-r0
Chainguard opensearch-2-security-analytics 0 2.19.4-r0
Chainguard opensearch-2-sql 0 2.19.4-r0
Chainguard opensearch-2-store-smb 0 2.19.4-r0
Chainguard opensearch-2-telemetry-otel 0 2.19.4-r0
Chainguard opensearch-2-transport-nio 0 2.19.4-r0
Chainguard opensearch-3 0 3.3.2-r0
Chainguard opensearch-3-alerting 0 3.3.2-r0
Chainguard opensearch-3-analysis-icu 0 3.3.2-r0
Chainguard opensearch-3-analysis-kuromoji 0 3.3.2-r0
Chainguard opensearch-3-analysis-nori 0 3.3.2-r0
Chainguard opensearch-3-analysis-phonetic 0 3.3.2-r0
Chainguard opensearch-3-analysis-smartcn 0 3.3.2-r0
Chainguard opensearch-3-analysis-stempel 0 3.3.2-r0
Chainguard opensearch-3-analysis-ukrainian 0 3.3.2-r0
Chainguard opensearch-3-anomaly-detection 0 3.3.2-r0
Chainguard opensearch-3-asynchronous-search 0 3.3.2-r0
Chainguard opensearch-3-cross-cluster-replication 0 3.3.2-r0
Chainguard opensearch-3-crypto-kms 0 3.3.2-r0
Chainguard opensearch-3-custom-codecs 0 3.3.2-r0
Chainguard opensearch-3-discovery-azure-classic 0 3.3.2-r0
Chainguard opensearch-3-discovery-ec2 0 3.3.2-r0
Chainguard opensearch-3-discovery-gce 0 3.3.2-r0
Chainguard opensearch-3-geospatial 0 3.3.2-r0
Chainguard opensearch-3-identity-shiro 0 3.3.2-r0
Chainguard opensearch-3-index-management 0 3.3.2-r0
Chainguard opensearch-3-ingest-attachment 0 3.3.2-r0
Chainguard opensearch-3-job-scheduler 0 3.3.2-r0
Chainguard opensearch-3-k-nn 0 3.3.2-r0
Chainguard opensearch-3-mapper-annotated-text 0 3.3.2-r0
Chainguard opensearch-3-mapper-murmur3 0 3.3.2-r0
Chainguard opensearch-3-mapper-size 0 3.3.2-r0
Chainguard opensearch-3-ml-commons 0 3.3.2-r0
Chainguard opensearch-3-neural-search 0 3.3.2-r0
Chainguard opensearch-3-notifications 0 3.3.2-r0
Chainguard opensearch-3-observability 0 3.3.2-r0
Chainguard opensearch-3-performance-analyzer 0 3.3.2-r0
Chainguard opensearch-3-reporting 0 3.3.2-r0
Chainguard opensearch-3-repository-azure 0 3.3.2-r0
Chainguard opensearch-3-repository-gcs 0 3.3.2-r0
Chainguard opensearch-3-repository-s3 0 3.3.2-r0
Chainguard opensearch-3-security 0 3.3.2-r0
Chainguard opensearch-3-security-analytics 0 3.3.2-r0
Chainguard opensearch-3-sql 0 3.3.2-r0
Chainguard opensearch-3-store-smb 0 3.3.2-r0
Chainguard opensearch-3-telemetry-otel 0 3.3.2-r0
Chainguard prometheus-jmx-exporter-strimzi-compat 0 0.47.0-r3
Chainguard sonarqube 0 25.12.0.117093-r1
Chainguard sonarqube-docker-compat 0 25.10.0.114319-r0
Chainguard sonarqube-scripts 0 25.10.0.114319-r0
Chainguard spark-3.5 0 3.5.7-r2

Related vulnerabilities