Skip to content
OpenAdvisories

Weakness (CWE)

CWE-770: Allocation of Resources Without Limits or Throttling

Base Incomplete

The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.

How to prevent it (8 mitigations)
  1. Requirements

    Clearly specify the minimum and maximum expectations for capabilities, and dictate which behaviors are acceptable when resource allocation reaches limits.

  2. Architecture and Design

    Limit the amount of resources that are accessible to unprivileged users. Set per-user limits for resources. Allow the system administrator to define these limits. Be careful to avoid CWE-410.

  3. 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, and it will help the administrator to identify who is committing the abuse. 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.

  4. Implementation

    Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.

    When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."

    Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.

  5. Architecture and Design

    For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.

  6. 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, typically by using increasing time delays

    - 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 can be difficult to effectively institute -- and even when properly done, it does not provide a full solution. It simply requires more resources on the part of the attacker.

  7. Architecture and Design

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

  8. Architecture and Design, Implementation

    If the program must fail, ensure that it fails gracefully (fails closed). There may be a temptation to simply let the program fail poorly in cases such as low memory conditions, but an attacker may be able to assert control before the software has fully exited. Alternately, an uncontrolled failure could cause cascading problems with other downstream components; for example, the program could send a signal to a downstream process so the process immediately knows that a problem has occurred and has a better chance of recovery.

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

Source: MITRE CWE-770

2,489 results · Feed

  • High 7.5

    Configuration defects in the secure OS module.Successful exploitation of this vulnerability will affect availability.

  • Unscored —

    HP-UX could be exploited locally to create a Denial of Service (DoS) when any physical interface is configured with IPv…

  • High 7.5

    snappy-java's unchecked chunk length leads to DoS

    snappy-java is a fast compressor/decompressor for Java. Due to use of an unchecked chunk length, an unrecoverable fatal error can occur in versions prior to 1.1.10.1. The code in the function hasNextChunk in the fileSnappyInputStream.java checks if a given st…

  • Unscored —

    In doInBackground of NotificationContentInflater.java, there is a possible temporary denial or service due to long runn…

  • Medium 4.3

    Apache Struts: DoS via OOM owing to no sanity limit on normal form fields in multipart forms

    Allocation of Resources Without Limits or Throttling vulnerability in Apache Software Foundation Apache Struts.This issue affects Apache Struts: through 2.5.30, through 6.1.2. Upgrade to Struts 2.5.31 or 6.1.2.1 or greater

  • Medium 4.3

    Apache Struts: DoS via OOM owing to not properly checking of list bounds

    Allocation of Resources Without Limits or Throttling vulnerability in Apache Software Foundation Apache Struts.This issue affects Apache Struts: through 2.5.30, through 6.1.2. Upgrade to Struts 2.5.31 or 6.1.2.1 or greater.

  • Medium 5.5

    An issue found in CrossX v.1.15.3 for Android allows a local attacker to cause a persistent denial of service via the d…

  • Medium 6.5

    Allocation of Resources Without Limits or Throttling in GitLab

    A denial of service issue was discovered in GitLab CE/EE affecting all versions starting from 13.2.4 before 15.10.8, all versions starting from 15.11 before 15.11.7, all versions starting from 16.0 before 16.0.2 which allows an attacker to cause high resource…

  • Medium 6.2

    In dialer service, there is a possible missing permission check. This could lead to local denial of service with no add…

  • Medium 6.2

    In dialer service, there is a possible missing permission check. This could lead to local denial of service with no add…

  • Medium 4.3
    CVE-2023-0921 EPSS 84%

    Allocation of Resources Without Limits or Throttling in GitLab

    A lack of length validation in GitLab CE/EE affecting all versions from 8.3 before 15.10.8, 15.11 before 15.11.7, and 16.0 before 16.0.2 allows an authenticated attacker to create a large Issue description via GraphQL which, when repeatedly requested, saturat…

  • Medium 6.5

    distribution catalog API endpoint can lead to OOM via malicious user input

    A flaw was found in the `/v2/_catalog` endpoint in distribution/distribution, which accepts a parameter to control the maximum number of records returned (query string: `n`). This vulnerability allows a malicious user to submit an unreasonably large value for…

  • Medium 6.5

    If a MIME email combines OpenPGP and OpenPGP MIME data in a certain way Thunderbird repeatedly attempts to process and …

  • Medium 6.5

    Calls to console.log allowed bypassing Content Security Policy via format directive

    Regular expressions used to filter out forbidden properties and values from style directives in calls to `console.log` weren't accounting for external URLs. Data could then be potentially exfiltrated from the browser. This vulnerability affects Firefox < 109,…

  • Medium 6.5

    MeterSphere denial of service vulnerability

    MeterSphere is an open source continuous testing platform. Version 2.9.1 and prior are vulnerable to denial of service. ​The `checkUserPassword` method is used to check whether the password provided by the user matches the password saved in the database, and …

  • Medium 6.5
    CVE-2023-2650 EPSS 75%

    Possible DoS translating ASN.1 object identifiers

    Issue summary: Processing some specially crafted ASN.1 object identifiers or data containing them may be very slow. Impact summary: Applications that use OBJ_obj2txt() directly, or use any of the OpenSSL subsystems OCSP, PKCS7/SMIME, CMS, CMP/CRMF or TS with …

  • Medium 5.5

    A memory leak vulnerability exists in NanoMQ 0.17.2. The vulnerability is located in the file message.c. An attacker co…

  • Unscored —

    An issue found in Wave Animated Keyboard Emoji v.1.70.7 for Android allows a local attacker to cause a denial of servic…

  • Medium 6.5

    mp4v2 v2.1.2 was discovered to contain a memory leak via the class MP4BytesProperty.

  • High 7.8

    In several functions of SnoozeHelper.java, there is a possible way to grant notifications access due to resource exhaus…

  • Medium 5.5

    In pushDynamicShortcut of ShortcutPackage.java, there is a possible way to get the device into a boot loop due to resou…

  • Medium 5.5

    Jerryscript 3.0 (commit 05dbbd1) was discovered to contain out-of-memory issue in malloc.

  • Medium 6.8

    Allocation of Resources Without Limits or Throttling in froxlor/froxlor

    Allocation of Resources Without Limits or Throttling in GitHub repository froxlor/froxlor prior to 2.0.16.

  • Medium 5.3

    github.com/ipfs/kubo affected by DOS Bitswap unbounded persistent memory leak

    ### Impact An attacker is able allocate arbitrarily many bytes in the Bitswap server by sending many `WANT_BLOCK` and or `WANT_HAVE` requests which are queued in an unbounded queue, with allocations that persist even if the connection is closed. This affects …

  • High 7.5

    A vulnerability has been identified where a maliciously crafted message containing a specific chain of characters can c…

  • High 8.2

    Boxo bitswap/server: DOS unbounded persistent memory leak

    Boxo, formerly known as go-libipfs, is a library for building IPFS applications and implementations. In versions 0.4.0 and 0.5.0, if an attacker is able allocate arbitrary many bytes in the Bitswap server, those allocations are lasting even if the connection …

  • Critical 9.8

    A malicious or compromised UApp or ABL can send a malformed system call to the bootloader, which may result in an out-o…

  • High 7.5
    CVE-2023-31472 EPSS 20%

    An issue was discovered on GL.iNet devices before 3.216. There is an arbitrary file write in which an empty file can be…

  • High 7.5

    Rekor's compressed archives can result in OOM conditions

    Rekor is an open source software supply chain transparency log. Rekor prior to version 1.1.1 may crash due to out of memory (OOM) conditions caused by reading archive metadata files into memory without checking their sizes first. Verification of a JAR file su…

  • Critical 9.1

    The issue was addressed with improved memory handling. This issue is fixed in macOS Ventura 13.3, macOS Monterey 12.6.4…

  • Medium 5.9

    IBM MQ denial of service

    IBM MQ 9.2 CD, 9.2 LTS, 9.3 CD, and 9.3 LTS could allow a remote attacker to cause a denial of service due to an error processing invalid data. IBM X-Force ID: 248418.

  • Medium 6.5

    IBM Safer Payments denial of service

    IBM Counter Fraud Management for Safer Payments 6.1.0.00, 6.2.0.00, 6.3.0.00 through 6.3.1.03, 6.4.0.00 through 6.4.2.02 and 6.5.0.00 does not properly allocate resources without limits or throttling which could allow a remote attacker to cause a denial of se…

  • High 7.5

    Trustwave ModSecurity 3.0.5 through 3.0.8 before 3.0.9 allows a denial of service (worker crash and unresponsiveness) b…

  • High 7.5

    An issue was discovered in ebankIT before 7. A Denial-of-Service attack is possible through the GET parameter EStatemen…

  • High 7.5

    Sengled Dimmer Switch V0.0.9 contains a denial of service (DOS) vulnerability, which allows a remote attacker to send m…

  • Medium 5.3

    Ribose RNP before 0.16.3 may hang when the input is malformed.

  • Medium 5.5

    Cesanta MJS v2.20.0 was discovered to contain a SEGV vulnerability via mjs_ffi_cb_free at src/mjs_ffi.c. This vulnerabi…

  • Medium 5.5

    Jerryscript commit 1a2c047 was discovered to contain a segmentation violation via the component ecma_find_named_propert…

  • Medium 5.5

    Jerryscript commit 1a2c047 was discovered to contain a segmentation violation via the component build/bin/jerry.

  • Medium 5.5

    Bento4 v1.6.0-639 was discovered to contain an out-of-memory bug in the mp42aac component.