Vulnerability in Black

CVE-2024-21503

Versions of the package black before 24.3.0 are vulnerable to Regular Expression Denial of Service (ReDoS) via the lines_with_leading_tabs_expanded function in the strings.py file. An attacker could exploit this vulnerability by crafting a malicious input that causes a denial of service. Exploiting this vulnerability is possible when running Black on untrusted input, or if you habitually put thousands of leading tab characters in your docstrings.

Vulnerability class: ReDoS (Regular Expression Denial of Service)

EPSS: 0.010 (58.3th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 5.3 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L.

Affected products

  • N/a Black — versions 0

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2024-21503?
CVE-2024-21503 is a medium-severity vulnerability in Black, classified under Inefficient Regular Expression Complexity. CVSS score: 5.3/10. Published 2024-03-19.
How severe is CVE-2024-21503?
Medium severity. CVSS v3 base score is 5.3 out of 10.
Is CVE-2024-21503 known to be exploited?
3 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.