Skip to content
OpenAdvisories

Weakness (CWE)

CWE-674: Uncontrolled Recursion

Class Draft

The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.

How to prevent it (2 mitigations)
  1. Implementation

    Ensure that an end condition will be reached under all logic conditions. The end condition may include checking against the depth of recursion and exiting with an error if the recursion goes too deep. The complexity of the end condition contributes to the effectiveness of this action.

  2. Implementation

    Increase the stack size.

Source: MITRE CWE-674

218 results · Clear filters · Feed

  • Medium 5.3

    HAProxyMessageDecoder Stack Exhaustion DoS

    Netty project is an event-driven asynchronous network application framework. In versions prior to 4.1.86.Final, a StackOverflowError can be raised when parsing a malformed crafted message due to an infinite recursion. This issue is patched in version 4.1.86.F…

  • Medium 6.5

    Stack Buffer Overflow in Jettison

    Those using Jettison to parse untrusted XML or JSON data may be vulnerable to Denial of Service attacks (DOS). If the parser is running on user supplied input, an attacker may supply content that causes the parser to crash by Out of memory. This effect may su…

  • Medium 5.3

    Uncontrolled Recursion in gpac/gpac

    Uncontrolled Recursion in GitHub repository gpac/gpac prior to 2.1.0-DEV.

  • Medium 6.5

    URL previews can crash Synapse media repositories or Synapse monoliths

    Synapse is an open source home server implementation for the Matrix chat network. In versions prior to 1.61.1 URL previews of some web pages can exhaust the available stack space for the Synapse process due to unbounded recursion. This is sometimes recoverabl…

  • Medium 6.5

    Uncontrolled Recursion in rulex

    rulex is a new, portable, regular expression language. When parsing untrusted rulex expressions, the stack may overflow, possibly enabling a Denial of Service attack. This happens when parsing an expression with several hundred levels of nesting, causing the …

  • Medium 5.5

    Uncontrolled Recursion in vim/vim

    Uncontrolled Recursion in GitHub repository vim/vim prior to 8.2.4975.

  • Medium 5.5

    libiberty/rust-demangle.c in GNU GCC 11.2 allows stack consumption in demangle_const, as demonstrated by nm-new.

  • Medium 4.4

    Crash when a cluster is deleted in Envoy

    Envoy is an open source edge and service proxy, designed for cloud-native applications. When a cluster is deleted via Cluster Discovery Service (CDS) all idle connections established to endpoints in that cluster are disconnected. A recursion was introduced in…

  • Medium 6.5
    CVE-2022-25313 Public exploit

    In Expat (aka libexpat) before 2.4.5, an attacker can trigger stack exhaustion in build_model via a large nesting depth…

  • Medium 5.9
    CVE-2021-45105 Public exploit EPSS 100%

    Apache Log4j2 does not always protect from infinite recursion in lookup evaluation

    Apache Log4j2 versions 2.0-alpha1 through 2.16.0 (excluding 2.12.3 and 2.3.1) did not protect from uncontrolled recursion from self-referential lookups. This allows an attacker with control over Thread Context Map data to cause a denial of service when a craf…

  • Medium —

    Uncontrolled recursion leads to abort in deserialization

    Affected versions of this crate did not properly check for recursion while deserializing aliases. This allows an attacker to make a YAML file with an alias referring to itself causing an abort. The flaw was corrected by checking the recursion depth.

  • Medium 5.7

    Denial of Service in Elasticsearch

    In Elasticsearch versions before 7.13.3 and 6.8.17 an uncontrolled recursion vulnerability that could lead to a denial of service attack was identified in the Elasticsearch Grok parser. A user with the ability to submit arbitrary queries to Elasticsearch coul…

  • Medium —

    Uncontrolled Recursion in HTTP2ToRawGRPCServerCodec

    HTTP2ToRawGRPCServerCodec in gRPC Swift 1.1.1 and earlier allows remote attackers to deny service via the delivery of many small messages within a single HTTP/2 frame, leading to Uncontrolled Recursion and stack consumption.

  • Medium 5.9

    golang.org/x/net/http/httpguts vulnerable to Uncontrolled Recursion

    net/http in Go before 1.15.12 and 1.16.x before 1.16.4 allows remote attackers to cause a denial of service (panic) via a large header to ReadRequest or ReadResponse. Server, Transport, and Client can each be affected in some configurations.

  • Medium 5.9

    Denial of Service in Page Error Handling

    TYPO3 is an open source PHP based web content management system. In TYPO3 before versions 9.5.25, 10.4.14, 11.1.1 requesting invalid or non-existing resources via HTTP triggers the page error handler which again could retrieve content to be shown as error mes…

  • Medium 6.5

    Jenkins Token Macro Plugin's recursive token expansion results in information disclosure and DoS

    An information exposure and denial of service vulnerability exists in Jenkins Token Macro Plugin 2.5 and earlier in src/main/java/org/jenkinsci/plugins/tokenmacro/Parser.java, src/main/java/org/jenkinsci/plugins/tokenmacro/TokenMacro.java, src/main/java/org/j…

  • Medium 6.5

    Denial of Service in mqtt

    MQTT.js 2.x.x prior to 2.15.0 issue in handling PUBLISH tickets may lead to an attacker causing a denial-of-service condition.

  • Medium 6.5

    Jansson 2.7 and earlier allows context-dependent attackers to cause a denial of service (deep recursion, stack consumpt…