CVE-2021-27291 Pygments vulnerable to Regular Expression Denial of Service (ReDoS)

High 7.5 Published Updated

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.

PackageAffectedFixed in
pygments PyPIFrom 1.12.7.4
pygments PyPIFrom 1.12.7.4
Pygments PyPIFrom 1.12.7.4
Linux distribution packages (18)
python-Pygments SUSE:Enterprise Storage 6All versions2.6.1-7.10.1
python-Pygments SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOSAll versions2.6.1-7.10.1
python-Pygments SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSSAll versions2.6.1-7.10.1
python-Pygments SUSE:Linux Enterprise High Performance Computing 15-ESPOSAll versions2.2.0-4.9.1
python-Pygments SUSE:Linux Enterprise High Performance Computing 15-LTSSAll versions2.2.0-4.9.1
python-Pygments SUSE:Linux Enterprise Module for Basesystem 15 SP2All versions2.6.1-7.10.1
python-Pygments SUSE:Linux Enterprise Module for Basesystem 15 SP3All versions2.6.1-4.3.1
python-Pygments SUSE:Linux Enterprise Module for Package Hub 15 SP2All versions2.2.0-4.9.1
python-Pygments SUSE:Linux Enterprise Module for Package Hub 15 SP3All versions2.2.0-4.9.1
python-Pygments SUSE:Linux Enterprise Module for Public Cloud 12All versions2.4.2-10.7.1
python-Pygments SUSE:Linux Enterprise Server 15 SP1-BCLAll versions2.6.1-7.10.1
python-Pygments SUSE:Linux Enterprise Server 15 SP1-LTSSAll versions2.6.1-7.10.1
python-Pygments SUSE:Linux Enterprise Server 15-LTSSAll versions2.2.0-4.9.1
python-Pygments SUSE:Linux Enterprise Server for SAP Applications 15All versions2.2.0-4.9.1
python-Pygments SUSE:Linux Enterprise Server for SAP Applications 15 SP1All versions2.6.1-7.10.1
python-Pygments openSUSE:Leap 15.2All versions2.6.1-lp152.5.12.1
python-Pygments openSUSE:Leap 15.3All versions2.2.0-4.9.1
python-Pygments openSUSE:Leap 15.3All versions2.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.

All Debian Debian Linux vulnerabilities

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.

Is CVE-2021-27291 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free