Security Resilience

CVE-2023-36632

DoS in Python ≤ 3.11.4

Public PoCDoS
Published
25 June 2023
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 7.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Score 0.016 75th percentile
Risk Priority 60 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2023-36632 is a high-severity Uncontrolled Recursion (CWE-674) vulnerability in Python Python. Its CVSS base score is 7.5 (High).

Operationally, ranked in the top 25% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

CVEs Like This One

CVE-2026-4224Same product: Python Python
CVE-2025-12084Same product: Python Python
CVE-2024-7592Same product: Python Python
CVE-2023-40217Same product: Python Python
CVE-2026-7210Same product: Python Python
CVE-2026-4360Same product: Python Python
CVE-2026-15308Same product: Python Python
CVE-2025-13462Same product: Python Python
CVE-2023-33595Same product: Python Python
CVE-2026-4519Same product: Python Python

Affected Assets

python
python
≤ 3.11.4

Mitigating Controls

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-674

Supports resumption at alternate site when uncontrolled recursion causes primary site failure or crash.

addresses: CWE-674

Prevents uncontrolled recursion that exhausts stack or CPU resources.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

blocks

Secure development life cycle requires controls that prevent uncontrolled recursion through design and code review.

blocks

A.8.26 only requires that security requirements (including resilience against attacks such as buffer overflows) be identified and specified during development or acquisition; it does not itself enforce, implement, or prevent uncontrolled recursion from being exploitable in the resulting application.

blocks

A.8.27 mandates establishing and applying secure engineering principles (defense-in-depth, least privilege, security by design, input distrust, hardening, design reviews) but does not itself stop uncontrolled recursion from being introduced or from consuming excessive resources when present; the weakness can still be exploited.

prevents

Secure coding standards directly prohibit or constrain recursive constructs that could exhaust stack or memory.

finds

Security testing in development can detect excessive recursion via static analysis or fuzzing.

finds

Capacity management includes monitoring and limits that mitigate resource exhaustion from runaway recursion.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-674, a class-level weakness, and none of its children carries one either.

References