8.7 HIGH
- CVSS version (CVSS): 4.0
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Attack Requirement (AT): None (N)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Vulnerable System Impact Confidentiality (VC): None (N)
- Vulnerable System Impact Integrity (VI): None (N)
- Vulnerable System Impact Availability (VA): High (H)
- Subsequent System Impact Confidentiality (SC): None (N)
- Subsequent System Impact Integrity (SI): None (N)
- Subsequent System Impact Availability (SA): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Attack Requirement (MAT): None (N)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Vulnerable System Impact Confidentiality (MVC): None (N)
- Modified Vulnerable System Impact Integrity (MVI): None (N)
- Modified Vulnerable System Impact Availability (MVA): High (H)
- Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
- Modified Subsequent System Impact Integrity (MSI): Negligible (N)
- Modified Subsequent System Impact Availability (MSA): Negligible (N)
- Safety (S): Not Defined (X)
- Automatable (AU): Not Defined (X)
- Recovery (R): Not Defined (X)
- Value Density (V): Not Defined (X)
- Vulnerability Response Effort (RE): Not Defined (X)
- Provider Urgency (U): Not Defined (X)
- Confidentiality Req. (CR): Not Defined (X)
- Integrity Req. (IR): Not Defined (X)
- Availability Req. (AR): Not Defined (X)
- Exploit Maturity (E): Not Defined (X)
Activity log
- Created suggestion
Joi before 17.13.7 and 18.2.6 ReDoS via isoDate
joi (npm package `joi`, hapi.js) versions >=17.2.0 <17.13.7 and >=18.0.0 <18.2.6 are vulnerable to regular expression denial of service in the `Joi.string().isoDate()` validation rule. One of the regular expressions the rule applies to the input is unanchored, so a valid ISO date followed by a long run of fractional-second digits causes the regex engine to restart its search from every position in the string, yielding time proportional to the square of the input length (about 1.4 s for 64 KB of digits and about 22 s for 256 KB). A remote attacker who can supply a string to an isoDate validation can stall the application with a single request. Fixed in 17.13.7 and 18.2.6; as a workaround, cap the length of the string before it reaches joi.
References
-
GitHub Security Advisory (GHSA-6h2x-m376-mqjq) vendor-advisory
-
VulnCheck Advisory: Joi before 17.13.7 and 18.2.6 ReDoS via isoDate third-party-advisory
Affected products
- <18.2.6
- ==17.13.7
- <17.13.7
- ==18.2.6
Matching in nixpkgs
pkgs.joincap
Merge multiple pcap files together, gracefully
pkgs.python313Packages.pyadjoint-ad
High-level automatic differentiation library
pkgs.python314Packages.pyadjoint-ad
High-level automatic differentiation library
pkgs.akkuPackages.robin-disjoint-set
A disjoint-set data structure
pkgs.haskellPackages.disjoint-sets-st
Imperative ST/IO based disjoint set data structure
pkgs.python313Packages.python-join-api
Python API for interacting with Join by joaoapps
pkgs.python314Packages.python-join-api
Python API for interacting with Join by joaoapps
pkgs.haskellPackages.disjoint-containers
Disjoint containers
pkgs.chickenPackages_5.chickenEggs.disjoint-set
Disjoint set implementation based on Scheme vectors and their indexes
pkgs.chickenPackages_6.chickenEggs.disjoint-set
Disjoint set implementation based on Scheme vectors and their indexes
-
nixos-unstable -
- nixos-unstable-small 0.1.0
Package maintainers
-
@fabaff Fabian Affolter <mail@fabian-affolter.ch>
-
@qbisi qbisicwate <qbisicwate@gmail.com>
-
@JamieMagee Jamie Magee <jamie.magee@gmail.com>