CVE-2020-13949
Regular Expression Denial of Service (ReDoS) vulnerability in libthrift (Maven)

Regular Expression Denial of Service (ReDoS) No known exploit

What is CVE-2020-13949 About?

This vulnerability in `braces` versions prior to 2.3.1 allows for Regular Expression Denial of Service (ReDoS). Untrusted input can trigger catastrophic backtracking in regular expressions, causing applications to become unresponsive. Exploitation is relatively easy, given the right untrusted input.

Affected Software

org.apache.thrift:libthrift >0.9.3, <0.14.0

Technical Details

The vulnerability lies within the braces library, specifically in versions before 2.3.1. It is a Regular Expression Denial of Service (ReDoS) vulnerability. When the library processes untrusted input, certain patterns within that input, when matched against poorly constructed regular expressions internally, can cause 'catastrophic backtracking'. This means the regular expression engine gets stuck in an exponentially growing number of evaluation steps, consuming excessive CPU resources and rendering the application unresponsive. The attack vector involves providing a maliciously crafted string as input to functions that utilize the vulnerable regular expressions, leading to a denial of service.

What is the Impact of CVE-2020-13949?

Successful exploitation may allow attackers to cause applications to become unresponsive, leading to denial of service, and tying up system resources, thereby impacting the availability of the service.

What is the Exploitability of CVE-2020-13949?

Exploitation complexity is low to medium, requiring the attacker to supply a specially crafted input string to an application that uses the vulnerable braces library. There are generally no authentication or specific privilege requirements, as the attack typically involves passing untrusted data through a regular application input mechanism. This is generally a remote exploitation scenario if the input can be controlled remotely. The primary risk factor is any application endpoint that processes user-supplied text or data using the braces library without adequate sanitization or input validation, making it susceptible to ReDoS attacks.

What are the Known Public Exploits?

PoC Author Link Commentary
No known exploits

What are the Available Fixes for CVE-2020-13949?

Available Upgrade Options

  • org.apache.thrift:libthrift
    • >0.9.3, <0.14.0 → Upgrade to 0.14.0

Struggling with dependency upgrades?

See how Resolved Security's drop-in replacements make it simple.

Book a demo

Additional Resources

What are Similar Vulnerabilities to CVE-2020-13949?

Similar Vulnerabilities: CVE-2023-28155 , CVE-2021-23429 , CVE-2020-28169 , CVE-2022-24706 , CVE-2023-46219