CVE-2023-36632: High severity Python Python vulnerability
DISPUTED The legacy email.utils.parseaddr function in Python through 3.11.4 allows attackers to trigger "RecursionError: maximum recursion depth exceeded while calling a Python object" via a crafted argument. This argument is plausibly an untrusted value from an application's input data that was supposed to contain a name and an e-mail address. NOTE: email.utils.parseaddr is categorized as a Legacy API in the documentation of the Python email package. Applications should instead use the email.parser.BytesParser or email.parser.Parser class. NOTE: the vendor's perspective is that this is neither a vulnerability nor a bug. The email package is intended to have size limits and to throw an exception when limits are exceeded; they were exceeded by the example demonstration code.
Other sources
Python is vulnerable to a denial of service, caused by a RecursionError in email.utils.parseaddr #103800. By sending a specially crafted argument, a remote attacker could exploit this vulnerability to cause a denial of service condition.
— IBM
Affected Software
Event History
Frequently Asked Questions
What is CVE-2023-36632?
CVE-2023-36632 is a vulnerability in the legacy email.utils.parseaddr function in Python through 3.11.4 that allows attackers to trigger a "RecursionError: maximum recursion depth exceeded while calling a Python object" by providing a crafted argument.
What is the severity of CVE-2023-36632?
CVE-2023-36632 has a severity rating of 7.5 (high).
Which version of Python is affected by CVE-2023-36632?
Python versions up to and including 3.11.4 are affected by CVE-2023-36632.
How can attackers exploit CVE-2023-36632?
Attackers can exploit CVE-2023-36632 by providing a crafted argument to the email.utils.parseaddr function.
Are there any public references for CVE-2023-36632?
Yes, you can find more information about CVE-2023-36632 in the Python documentation (https://docs.python.org/3/library/email.html, https://docs.python.org/3/library/email.utils.html) and a PoC on GitHub (https://github.com/Daybreak2019/PoC_python3.9_Vul/blob/main/RecursionError-email.utils.parseaddr.py).