Lucene search

K
githubGitHub Advisory DatabaseGHSA-3XQ5-WJFH-PPJC
HistoryJan 09, 2023 - 2:10 p.m.

Luxon Inefficient Regular Expression Complexity vulnerability

2023-01-0914:10:49
CWE-1333
GitHub Advisory Database
github.com
23
luxon
vulnerability
regular expression
(re)dos attacks
datetime
complexity

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

0.002 Low

EPSS

Percentile

61.1%

Impact

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 is the same bug as Moment’s https://github.com/moment/moment/security/advisories/GHSA-wc69-rhjr-hc9g

Workarounds

Limit the length of the input.

References

There is an excellent writeup of the same issue in Moment: https://github.com/moment/moment/pull/6015#issuecomment-1152961973

Details

DateTime.fromRFC2822("(".repeat(500000)) takes a couple minutes to complete.

Affected configurations

Vulners
Node
momentluxonRange<1.28.1
OR
momentluxonRange<3.2.1
OR
momentluxonRange<2.5.2
CPENameOperatorVersion
luxonlt1.28.1
luxonlt3.2.1
luxonlt2.5.2

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

0.002 Low

EPSS

Percentile

61.1%