luxon.js inefficient regular expression complexity vulnerability
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.38.1, 2.5.2, 3.2.1, 1.28.1
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Luxon is a library for working with dates and times in JavaScript. On the 1.x branch prior to 1.38.1, the 2.x branch prior to 2.5.2, and the 3.x branch on 3.2.1, Luxon's `DateTime.fromRFC2822() has quadratic (N^2) complexity on some specific inputs. This causes a noticeable slowdown for inputs with lengths above 10k characters. Users providing untrusted data to this method are therefore vulnerable to (Re)DoS attacks. This issue also appears in Moment as CVE-2022-31129. Versions 1.38.1, 2.5.2, and 3.2.1 contain patches for this issue. As a workaround, limit the length of the input.
Timeline
- CVE published
- Record last updated
Affected versions
- moment luxon
From 1.0.0 · fixed in 1.38.1; From 2.0.0 · fixed in 2.5.2; From 3.0.0 · fixed in 3.2.1
- luxonnpm
From 1.0.0 · fixed in 1.28.1
- luxonnpm
From 2.0.0 · fixed in 2.5.2
- luxonnpm
From 3.0.0 · fixed in 3.2.1