GHSA-3xq5-wjfh-ppjcHighCVSS 7.5

Luxon Inefficient Regular Expression Complexity vulnerability

Published
January 9, 2023
Last Modified
February 12, 2024

🔗 CVE IDs covered (1)

📋 Description

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 products3

  • npm/luxon:>= 2.0.0, < 2.5.2
  • npm/luxon:>= 3.0.0, < 3.2.1
  • npm/luxon:>= 1.0.0, < 1.28.1

🔗 References (8)