CVE-2021-27291 Pygments vulnerable to Regular Expression Denial of Service (ReDoS)
Attackers can cause denial of service in Pygments by submitting malicious input that triggers exponential complexity in regular expressions.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-27291?
CVE-2021-27291 is a high-severity denial of service vulnerability in Debian Debian Linux, published on 17 Mar 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In pygments 1.1+, fixed in 2.7.4, the lexers used to parse programming languages rely heavily on regular expressions. Some of the regular expressions have exponential or cubic worst-case complexity and are vulnerable to ReDoS. By crafting malicious input, an attacker can cause a denial of service.
Weakness: CWE-1333
Which versions are affected by CVE-2021-27291?
3 open source packages ship an affected version, including pygments and Pygments. It affects 3 products.
| Package | Affected | Fixed in |
|---|---|---|
pygments PyPI | From 1.1 | 2.7.4 |
pygments PyPI | From 1.1 | 2.7.4 |
Pygments PyPI | From 1.1 | 2.7.4 |
Linux distribution packages (18)
python-Pygments SUSE:Enterprise Storage 6 | All versions | 2.6.1-7.10.1 |
python-Pygments SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | All versions | 2.6.1-7.10.1 |
python-Pygments SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | All versions | 2.6.1-7.10.1 |
python-Pygments SUSE:Linux Enterprise High Performance Computing 15-ESPOS | All versions | 2.2.0-4.9.1 |
python-Pygments SUSE:Linux Enterprise High Performance Computing 15-LTSS | All versions | 2.2.0-4.9.1 |
python-Pygments SUSE:Linux Enterprise Module for Basesystem 15 SP2 | All versions | 2.6.1-7.10.1 |
python-Pygments SUSE:Linux Enterprise Module for Basesystem 15 SP3 | All versions | 2.6.1-4.3.1 |
python-Pygments SUSE:Linux Enterprise Module for Package Hub 15 SP2 | All versions | 2.2.0-4.9.1 |
python-Pygments SUSE:Linux Enterprise Module for Package Hub 15 SP3 | All versions | 2.2.0-4.9.1 |
python-Pygments SUSE:Linux Enterprise Module for Public Cloud 12 | All versions | 2.4.2-10.7.1 |
python-Pygments SUSE:Linux Enterprise Server 15 SP1-BCL | All versions | 2.6.1-7.10.1 |
python-Pygments SUSE:Linux Enterprise Server 15 SP1-LTSS | All versions | 2.6.1-7.10.1 |
python-Pygments SUSE:Linux Enterprise Server 15-LTSS | All versions | 2.2.0-4.9.1 |
python-Pygments SUSE:Linux Enterprise Server for SAP Applications 15 | All versions | 2.2.0-4.9.1 |
python-Pygments SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | All versions | 2.6.1-7.10.1 |
python-Pygments openSUSE:Leap 15.2 | All versions | 2.6.1-lp152.5.12.1 |
python-Pygments openSUSE:Leap 15.3 | All versions | 2.2.0-4.9.1 |
python-Pygments openSUSE:Leap 15.3 | All versions | 2.6.1-4.3.1 |
Products include Debian Debian Linux, Fedoraproject Fedora, Pygments Pygments.
How do I fix CVE-2021-27291?
Upgrade pygments to 2.7.4 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2021-27291 being exploited?
There is no known exploitation of CVE-2021-27291 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as ALPINE-CVE-2021-27291, AZL-35138, AZL-6812, DEBIAN-CVE-2021-27291, DLA-2600-1, DSA-4878-1 and 13 more.