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 applications 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 vendors 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.
The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Python | Python | * | 3.11.4 (including) |
Python | Ubuntu | bionic | * |
Python | Ubuntu | trusty | * |
Python | Ubuntu | xenial | * |
Python2.7 | Ubuntu | bionic | * |
Python2.7 | Ubuntu | trusty | * |
Python2.7 | Ubuntu | xenial | * |
Python3.4 | Ubuntu | trusty | * |
Python3.5 | Ubuntu | trusty | * |
Python3.5 | Ubuntu | xenial | * |
Python3.6 | Ubuntu | bionic | * |
Python3.7 | Ubuntu | bionic | * |
Python3.8 | Ubuntu | bionic | * |