Skip to content
OpenAdvisories

Weakness (CWE)

CWE-400: Uncontrolled Resource Consumption

Class Draft Mapping discouraged

The product does not properly control the allocation and maintenance of a limited resource.

How to prevent it (4 mitigations)
  1. Architecture and Design

    Design throttling mechanisms into the system architecture. The best protection is to limit the amount of resources that an unauthorized user can cause to be expended. A strong authentication and access control model will help prevent such attacks from occurring in the first place. The login application should be protected against DoS attacks as much as possible. Limiting the database access, perhaps by caching result sets, can help minimize the resources expended. To further limit the potential for a DoS attack, consider tracking the rate of requests received from users and blocking requests that exceed a defined rate threshold.

  2. Architecture and Design

    Mitigation of resource exhaustion attacks requires that the target system either:

    - recognizes the attack and denies that user further access for a given amount of time, or

    - uniformly throttles all requests in order to make it more difficult to consume resources more quickly than they can again be freed.

    The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.

    The second solution is simply difficult to effectively institute -- and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.

  3. Architecture and Design

    Ensure that protocols have specific limits of scale placed on them.

  4. Implementation

    Ensure that all failures in resource allocation place the system into a safe posture.

Source: MITRE CWE-400

4,042 results · Feed

  • High 7.1

    pypdf: Possible large memory usage when parsing cross-reference streams

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive memory while opening a crafted PDF containing cross-reference streams that declare very large entry counts. Highly compressible streams and /Prev chains can …

  • High 7.1

    pypdf: Possible long runtimes/large memory usage for encrypted PDF files

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive time and memory when an application accesses the page count of a crafted encrypted PDF whose page tree declares a forged /Count value. Even after successful …

  • High 7.1

    pypdf: Possible large memory usage for exceptions in strict mode

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive memory when strict mode loads a crafted invalid PDF dictionary. Nested parsing failures add repeated exception text to newly raised errors, allowing a small …

  • High 7.1

    pypdf: Possible long runtimes when retrieving page labels

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can take excessive time to retrieve page labels from a crafted PDF containing a flat page-label number tree with many ranges. The page_labels property resolves each page independe…

  • High 7.1

    pypdf: Possible large memory usage when parsing page tree

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can consume excessive memory while parsing a crafted PDF page tree containing many shared resources. Page-tree flattening copies page dictionary and inherited resource entries wit…

  • High 7.5

    Forge: ASN.1 resource exhaustion via BIT STRING decoding in asn1.fromDer

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used asn1.fromDer(), BIT STRING decoding, maxDepth to process the relevant input or security decision. node-forge …

  • High 7.5

    Forge: Regular expression denial of service in PEM decoding (pem.decode)

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used pem.decode(), lib/pem.js, missing END line to process the relevant input or security decision. node-forge use…

  • Medium 6.3

    Glob: AbortSignal cancellation bypass allows post-timeout filesystem traversal

    Glob matches files using patterns the shell uses. From 9.0.0 until 14.0.2, abort branches in src/walker.ts, including GlobUtil.walkCB(), GlobUtil.walkCB2(), GlobUtil.walkCBSync(), and GlobUtil.walkCB2Sync(), invoke the callbacks without returning. After Abort…

  • High 7.5

    Twisted: Unauthenticated Remote Denial of Service in the Twisted HTTP/2 Server via Rapid Stream Reset

    ## Summary An uncontrolled-resource-consumption vulnerability (CWE-400) in the Twisted HTTP/2 server lets any unauthenticated remote client exhaust server CPU over a single connection. A client that sends a request header block with `END_STREAM` and then imme…

  • Medium 5.3

    Unauthenticated Ad Hoc Transfer Resource Exhaustion in Progress WS_FTP Server

    A missing release of backend receiver sessions in the Ad Hoc Transfer component of Progress Software WS_FTP Server versions prior to 2024.0.7 and 2025.0.4 on Windows could lead to server resource exhaustion and service degradation.

  • Medium 5.3

    Dnsmasq: dnsmasq: tcp/53 child-slot exhaustion starves dnssec validation

    A flaw was found in dnsmasq. The TCP DNS service uses a small fixed pool of child processes and does not set a receive timeout on client connections. A remote attacker can open idle TCP connections to port 53 and occupy the entire pool, preventing new TCP DNS…

  • Medium 5.3

    nipy nibabel Header volumeutils.py array_from_file memory allocation

    A security vulnerability has been detected in nipy nibabel up to 5.4.2. The affected element is the function array_from_file of the file nibabel/volumeutils.py of the component Header Handler. The manipulation leads to uncontrolled memory allocation. The atta…

  • Medium 5.3

    nschloe meshio VTK Reader _vtk_42.py memory allocation

    A weakness has been identified in nschloe meshio up to 5.3.5. Impacted is an unknown function of the file meshio/_vtk_42.py of the component VTK Reader. Executing a manipulation of the argument DIMENSIONS can lead to uncontrolled memory allocation. The attack…

  • High 8.2

    decode-uri-component: Denial of service via quadratic replacement of percent-encoded runs

    decode-uri-component provides a more robust alternative to decodeURIComponent. Prior to 0.5.1, decodeUriComponent in index.js falls back to customDecodeURIComponent after native decoding throws, and the fallback collects every distinct percent-encoded run bef…

  • High 8.2

    Echo: Decompress permits unbounded gzip expansion in v4

    Echo is a Go web framework. From 4.0.0 until 4.16.1, Echo v4's opt-in Decompress middleware exposes a gzip-decoded request stream without limiting its expanded size. A small compressed request can expand into a very large body when a handler reads or binds it…

  • High 8.2

    Echo: BodyDump captures request and response bodies without size limits in v4

    Echo is a Go web framework. From 4.0.0 until 4.16.1, Echo v4's opt-in BodyDump middleware reads complete request bodies into memory before handlers run and retains complete response bodies for the dump callback without capture limits. An unauthenticated clien…

  • Medium 6.5

    Server-side expression parser denial of service

    A user with the Viewer role in Grafana can crash the server by submitting a crafted server-side math expression (uncontrolled recursion). A user with permission to provision alert rules can make the outage persist across restarts.

  • Medium 6.5

    Apache Kafka: Denial of service via unbounded memory allocation when decoding compressed record batches

    When a broker decodes a compressed record batch, the per-record decoder reads a declared body size from the decompressed stream and allocates a buffer of that size before validating it against the bytes available or any configured limit. The size is attacker-…

  • High 7.5

    Apache Kafka: Denial of service in Kafka Streams and client deserializers via unbounded memory allocation

    Several Kafka deserialization paths read a size or count field from input data and use it directly to allocate an array, collection, or byte buffer, with no check against the bytes actually available. A small crafted input can therefore declare a very large s…

  • Critical 9.1

    Apache Kafka: Broker OutOfMemoryError via array allocation amplification in code-generated protocol readers

    Apache Kafka's code-generated protocol readers pre-size an array's collection from the element count declared by the sender. That count is checked only against the bytes remaining in the request buffer, which assumes about one byte per element; because most e…

  • Medium 6.5

    Apache Kafka: PushTelemetry (KIP-714) metrics payloads are decompressed without a size limit, allowing a broker out-of-memory denial of service

    The broker-side PushTelemetry API (KIP-714) validates only the compressed size of a client's metrics payload against telemetry.max.bytes (default 1 MB) before decompressing it. ClientTelemetryUtils.decompress() then decompresses the payload with no limit on t…

  • Low 3.5

    a2ui-project a2ui Parser expression_parser.ts formatString resource consumption

    A vulnerability was determined in a2ui-project a2ui up to 0.10.6. This vulnerability affects the function formatString of the file renderers/web_core/src/v0_9/basic_catalog/expressions/expression_parser.ts of the component Parser. This manipulation causes res…

  • Medium 5.3

    a2ui-project a2ui Resolver data-context.ts DataContext.resolveSignal resource consumption

    A vulnerability was found in a2ui-project a2ui up to 0.10.6. This affects the function DataContext.resolveSignal of the file renderers/web_core/src/v0_9/rendering/data-context.ts of the component Resolver. The manipulation results in resource consumption. The…

  • Medium 4.3

    a2ui-project a2ui Binder generic-binder.ts resource consumption

    A vulnerability has been found in a2ui-project a2ui up to 0.10.6. Affected by this issue is some unknown functionality of the file renderers/web_core/src/v0_9/rendering/generic-binder.ts of the component Binder. The manipulation leads to resource consumption.…

  • Medium 4.3

    a2ui-project a2ui data-model.ts DataModel.set resource consumption

    A flaw has been found in a2ui-project a2ui up to 0.10.6. Affected by this vulnerability is the function DataModel.set of the file renderers/web_core/src/v0_9/state/data-model.ts. Executing a manipulation can lead to resource consumption. It is possible to lau…

  • Medium 4.3

    a2ui-project a2ui data-context Resolver data-context.ts resource consumption

    A security vulnerability has been detected in a2ui-project a2ui up to 0.10.6. This impacts an unknown function of the file renderers/web_core/src/v0_9/rendering/data-context.ts of the component data-context Resolver. Such manipulation leads to resource consum…

  • High 7.5

    An integer overflow in the MessagePack\BufferUnpacker component of rybakit/msgpack versions prior to 0.11.0 allows atta…

  • Medium 4.3

    russh: peer-declared zero maximum packet size permanently stalls channel writes (silent AsyncWrite hang)

    russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From 0.60.0 until 0.65.0, channel-open parsing accepts a peer-declared maximum_packet_size of zero and passes it into ChannelTx::poll_writable in russh/src/chann…

  • High 7.5

    Tanium addressed an uncontrolled resource consumption vulnerability in Enforce.

    Tanium addressed an uncontrolled resource consumption vulnerability in Enforce.

  • Low 3.3

    Tanium addressed an infinite loop vulnerability in Threat Response Client Extension.

    Tanium addressed an infinite loop vulnerability in Threat Response Client Extension.

  • High 7.5

    Abusing the federated share endpoint, an attacker can write arbitrary rows into the oc_share_external database table. T…

  • Medium 4.3

    a2aproject a2a-java Push Notification Config Store JpaDatabasePushNotificationConfigStore.java InMemoryPushNotificationConfigStore.setInfo resource consumption

    A weakness has been identified in a2aproject a2a-java up to 1.2.0.Final. This affects the function InMemoryPushNotificationConfigStore.setInfo of the file extras/push-notification-config-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/pushnotificat…

  • Medium 4.3

    a2aproject a2a-java ChildQueue queue.offer resource consumption

    A security flaw has been discovered in a2aproject a2a-java up to 1.2.0.Final. The impacted element is the function queue.offer of the component ChildQueue. Performing a manipulation results in resource consumption. The attack can be initiated remotely. Upgrad…

  • Medium 5.4

    Frame poisoning in the CSS Parsing and Computation component

    Frame poisoning in the CSS Parsing and Computation component. This vulnerability was fixed in Firefox 159, Firefox ESR 153.6, Thunderbird 159, and Thunderbird 153.6.

  • Medium 5.3

    a2aproject a2a-go REST SSE handler rest.go resource consumption

    A vulnerability was determined in a2aproject a2a-go up to 2.4.0. Impacted is an unknown function of the file a2asrv/rest.go of the component REST SSE handler. This manipulation causes resource consumption. It is possible to initiate the attack remotely. Upgra…

  • High 7.5

    Semantic MediaWiki 2.5.0 before 7.3.1 Resource Exhaustion via Special:PropertyLabelSimilarity

    Semantic MediaWiki from 2.5.0 before 7.3.1 contains an uncontrolled resource consumption vulnerability that allows anonymous attackers to force quadratic computation by supplying a zero limit to Special:PropertyLabelSimilarity. Attackers can send repeated req…

  • Medium 5.3

    Resource Exhaustion in MICE Service

    A denial-of-service vulnerability has been identified in the Miracast over Infrastructure Connection Establishment (MICE) service. An unauthenticated attacker with network access to the MICE service could consume available connection capacity, preventing legi…

  • Medium 5.3

    Tornado: Event loop blocking and excess memory use from chunked bodies with many small chunks

    Tornado is a Python web framework and asynchronous networking library. Prior to 6.6.0, Tornado decodes HTTP/1.1 chunked transfer encoding by processing body data that has already arrived without yielding to the event loop. A remote unauthenticated peer can se…

  • High 7.5

    BUG-000186514 - ArcGIS Server has a security vulnerability.

    There is s denial of service vulnerability in Esri ArcGIS Server versions 12.0 and prior that may allow a remote, unauthenticated attacker to supply crafted requests that may, under exceptional circumstances, consume all available worker threads and deny serv…

  • Medium 6.5

    vLLM: Responses API bypasses trust_request_chat_template for chat_template_kwargs

    vLLM is an inference and serving engine for large language models. From 0.16.0 until 0.32.0, the /v1/responses endpoint allows an authenticated caller to place an attacker-controlled template in chat_template_kwargs[chat_template] when no server template is c…