ID CVE-2021-32740
Summary Addressable is an alternative implementation to the URI implementation that is part of Ruby's standard library. An uncontrolled resource consumption vulnerability exists after version 2.3.0 through version 2.7.0. Within the URI template implementation in Addressable, a maliciously crafted template may result in uncontrolled resource consumption, leading to denial of service when matched against a URI. In typical usage, templates would not normally be read from untrusted user input, but nonetheless, no previous security advisory for Addressable has cautioned against doing this. Users of the parsing capabilities in Addressable but not the URI template capabilities are unaffected. The vulnerability is patched in version 2.8.0. As a workaround, only create Template objects from trusted sources that have been validated not to produce catastrophic backtracking.
References
Vulnerable Configurations
  • cpe:2.3:a:addressable_project:addressable:2.3.0:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.0:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.3.1:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.1:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.3.2:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.2:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.3.3:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.3:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.3.4:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.4:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.3.5:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.5:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.3.6:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.6:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.3.7:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.7:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.3.8:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.3.8:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.4.0:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.4.0:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.5.0:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.5.0:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.5.1:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.5.1:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.5.2:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.5.2:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.6.0:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.6.0:*:*:*:*:ruby:*:*
  • cpe:2.3:a:addressable_project:addressable:2.7.0:*:*:*:*:ruby:*:*
    cpe:2.3:a:addressable_project:addressable:2.7.0:*:*:*:*:ruby:*:*
  • cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*
    cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*
  • cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*
    cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*
CVSS
Base: 5.0 (as of 21-09-2021 - 18:18)
Impact:
Exploitability:
CWE CWE-400
CAPEC
  • XML Entity Expansion
    An attacker submits an XML document to a target application where the XML document uses nested entity expansion to produce an excessively large output XML. XML allows the definition of macro-like structures that can be used to simplify the creation of complex structures. However, this capability can be abused to create excessive demands on a processor's CPU and memory. A small number of nested expansions can result in an exponential growth in demands on memory.
  • Regular Expression Exponential Blowup
    An adversary may execute an attack on a program that uses a poor Regular Expression(Regex) implementation by choosing input that results in an extreme situation for the Regex. A typical extreme situation operates at exponential time compared to the input size. This is due to most implementations using a Nondeterministic Finite Automaton(NFA) state machine to be built by the Regex algorithm since NFA allows backtracking and thus more complex regular expressions. The algorithm builds a finite state machine and based on the input transitions through all the states until the end of the input is reached. NFA engines may evaluate each character in the input string multiple times during the backtracking. The algorithm tries each path through the NFA one by one until a match is found; the malicious input is crafted so every path is tried which results in a failure. Exploitation of the Regex results in programs hanging or taking a very long time to complete. These attacks may target various layers of the Internet due to regular expressions being used in validation.
  • XML Ping of the Death
    An attacker initiates a resource depletion attack where a large number of small XML messages are delivered at a sufficiently rapid rate to cause a denial of service or crash of the target. Transactions such as repetitive SOAP transactions can deplete resources faster than a simple flooding attack because of the additional resources used by the SOAP protocol and the resources necessary to process SOAP messages. The transactions used are immaterial as long as they cause resource utilization on the target. In other words, this is a normal flooding attack augmented by using messages that will require extra processing on the target.
Access
VectorComplexityAuthentication
NETWORK LOW NONE
Impact
ConfidentialityIntegrityAvailability
NONE NONE PARTIAL
cvss-vector via4 AV:N/AC:L/Au:N/C:N/I:N/A:P
Last major update 21-09-2021 - 18:18
Published 06-07-2021 - 15:15
Last modified 21-09-2021 - 18:18
Back to Top