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

20 results · Clear filters · Feed

  • High 7.5
    CVE-2026-115290 Public exploit

    Uncontrolled Recursion in Elasticsearch Leading to Denial of Service

    Uncontrolled Recursion (CWE-674) in Elasticsearch can lead to denial of service via Serialized Data with Nested Payloads (CAPEC-230). An unauthenticated attacker with network access to the remote cluster server interface of a node can send a specially crafted…

  • High 7.5
    CVE-2026-116011 Public exploit

    Crow before 1.3.4 Denial of Service via Deeply Nested JSON in crow::json::load()

    Crow before 1.3.4 contains an uncontrolled recursion vulnerability in crow::json::load() that allows remote unauthenticated attackers to crash the server by sending deeply nested JSON. Attackers can send a request body with thousands of nested objects to exha…

  • High 7.5
    CVE-2026-93687 Public exploit

    braces through 3.0.3 Stack Overflow via Deeply Nested Patterns

    braces through 3.0.3 contains a stack overflow vulnerability in the recursive AST walkers that lack depth guards. Attackers can supply deeply nested brace patterns under the character limit to exhaust the call stack and terminate the Node.js process with an u…

  • Medium 6.5
    CVE-2026-73321 Public exploit

    XenForo < 2.3.13 Uncontrolled Recursion DoS via BBCode Parser

    XenForo before 2.3.13 contains an uncontrolled recursion vulnerability in the BBCode parser that allows authenticated attackers to cause persistent denial of service by submitting a post with deeply nested BBCode tags. Attackers can craft a single malicious p…

  • High 8.2
    CVE-2026-40345 Public exploit

    deepmerge-ts: Stack exhaustion when merging recursive object graphs

    deepmerge-ts is a typescript library providing functionality to deep merging of javascript objects. Prior to 8.0.0, the deepmerge, deepmergeCustom, deepmergeInto, and deepmergeIntoCustom APIs do not track visited objects or object pairs when recursively mergi…

  • High 7.5
    CVE-2026-39376 Public exploit

    FastFeedParser has an infinite redirect loop DoS via meta-refresh chain

    FastFeedParser is a high performance RSS, Atom and RDF parser. Prior to 0.5.10, when parse() fetches a URL that returns an HTML page containing a <meta http-equiv="refresh"> tag, it recursively calls itself with the redirect URL — with no depth limit, no visi…

  • Medium 4.3
    CVE-2026-33532 Public exploit

    yaml is vulnerable to Stack Overflow via deeply nested YAML collections

    `yaml` is a YAML parser and serialiser for JavaScript. Parsing a YAML document with a version of `yaml` on the 1.x branch prior to 1.10.3 or on the 2.x branch prior to 2.8.3 may throw a RangeError due to a stack overflow. The node resolution/composition phase…

  • Medium 6.2
    CVE-2026-33320 Public exploit

    Dasel has unbounded YAML alias expansion in dasel leads to CPU/memory denial of service

    Dasel is a command-line tool and library for querying, modifying, and transforming data structures. Starting in version 3.0.0 and prior to version 3.3.1, Dasel's YAML reader allows an attacker who can supply YAML for processing to trigger extreme CPU and memo…

  • High 7.5
    CVE-2026-31899 Public exploit

    CairoSVG vulnerable to Exponential DoS via recursive <use> element amplification

    CairoSVG is an SVG converter based on Cairo, a 2D graphics library. Prior to Kozea/CairoSVG has exponential denial of service via recursive <use> element amplification in cairosvg/defs.py. This causes CPU exhaustion from a small input.

  • Medium 6.5
    CVE-2025-36001 Public exploit

    IBM Db2 Denial of Service

    IBM Db2 for Linux, UNIX and Windows (includes Db2 Connect Server) 11.5.0 - 11.5.9 and 12.1.0 - 12.1.3 could allow an authenticated user to cause a denial of service using a specially crafted SQL statement including XML that performs uncontrolled recursion.

  • High 8.2
    CVE-2026-0994 Public exploit

    Denial of Service in Python Protobuf

    A denial-of-service (DoS) vulnerability exists in google.protobuf.json_format.ParseDict() in Python, where the max_recursion_depth limit can be bypassed when parsing nested google.protobuf.Any messages. Due to missing recursion depth accounting inside the int…

  • Medium 6.5
    CVE-2025-50420 Public exploit

    An issue in the pdfseparate utility of freedesktop poppler v25.04.0 allows attackers to cause an infinite recursion via…

  • Medium 6.5
    CVE-2025-46206 Public exploit

    An issue in Artifex mupdf 1.25.6, 1.25.5 allows a remote attacker to cause a denial of service via an infinite recursio…

  • Medium 5.3
    CVE-2025-48924 Public exploit

    Apache Commons Lang, Apache Commons Lang: ClassUtils.getClass(...) can throw a StackOverflowError on very long inputs

    Uncontrolled Recursion vulnerability in Apache Commons Lang. This issue affects Apache Commons Lang: Starting with commons-lang:commons-lang 2.0 to 2.6, and, from org.apache.commons:commons-lang3 3.0 before 3.18.0. The methods ClassUtils.getClass(...) can thr…

  • High 7.5
    CVE-2024-8176 Public exploit

    Libexpat: expat: improper restriction of xml entity expansion depth in libexpat

    A stack overflow vulnerability exists in the libexpat library due to the way it handles recursive entity expansion in XML documents. When parsing an XML document with deeply nested entity references, libexpat can be forced to recurse indefinitely, exhausting …

  • High 8.2
    CVE-2022-41966 Public exploit

    XStream Denial of Service via stack overflow

    XStream serializes Java objects to XML and back again. Versions prior to 1.4.20 may allow a remote attacker to terminate the application with a stack overflow error, resulting in a denial of service only via manipulation the processed input stream. The attack…

  • 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…

  • High 7.5
    CVE-2021-42697 Public exploit EPSS 36%

    Uncontrolled Recursion in Akka HTTP

    Akka HTTP 10.1.x before 10.1.15 and 10.2.x before 10.2.7 can encounter stack exhaustion while parsing HTTP headers, which allows a remote attacker to conduct a Denial of Service attack by sending a User-Agent header with deeply nested comments.

  • High 7.5
    CVE-2016-3627 Public exploit

    The xmlStringGetNodeList function in tree.c in libxml2 2.9.3 and earlier, when used in recovery mode, allows context-de…