CVE-2025-13837: Vulnerability in Python Software Foundation CPython
When loading a plist file, the plistlib module reads data in size specified by the file itself, meaning a malicious file can cause OOM and DoS issues
AI Analysis
Technical Summary
CVE-2025-13837 identifies a resource exhaustion vulnerability in the plistlib module of CPython, the reference implementation of the Python programming language maintained by the Python Software Foundation. The plistlib module is responsible for parsing plist (property list) files, commonly used for configuration and data serialization, especially on macOS and iOS platforms. The vulnerability stems from the module reading data sizes directly from the plist file without adequate validation or bounds checking. An attacker who can supply a malicious plist file can specify arbitrarily large size values, causing the parser to allocate excessive memory buffers. This uncontrolled resource consumption can lead to out-of-memory conditions, causing the Python process to crash or become unresponsive, resulting in a denial of service. The vulnerability affects multiple CPython versions, including 3.11.0 through 3.15.0a1, and even the initial version 0, indicating a long-standing issue. The CVSS 4.0 vector indicates local attack vector (AV:L), low attack complexity (AC:L), no privileges required (PR:N), no user interaction (UI:N), and limited impact on availability (VA:L), with no impact on confidentiality or integrity. The vulnerability is categorized under CWE-400, highlighting uncontrolled resource consumption. No known exploits have been reported in the wild, and no official patches have been linked yet, suggesting that mitigation may rely on cautious handling of plist files or third-party patches. This vulnerability primarily impacts applications and systems that use CPython to parse plist files, especially those that process untrusted or user-supplied plist data.
Potential Impact
The primary impact of CVE-2025-13837 is denial of service through resource exhaustion. Organizations running Python applications that parse plist files using the vulnerable plistlib module may experience crashes or service interruptions if exposed to malicious plist files. This can affect backend services, automation scripts, or desktop applications that rely on plist parsing. While the vulnerability does not directly compromise confidentiality or integrity, the resulting denial of service can disrupt business operations, degrade user experience, and potentially cause cascading failures in dependent systems. Since exploitation requires local access to supply the malicious file, remote exploitation is unlikely unless combined with other vulnerabilities or misconfigurations. The impact is more significant in environments where plist files are received from untrusted sources or where automated processing of plist files occurs without validation. Given the widespread use of Python globally, especially in development, automation, and system management, the vulnerability has broad potential reach but limited severity due to exploitation constraints.
Mitigation Recommendations
To mitigate CVE-2025-13837, organizations should implement the following specific measures: 1) Avoid parsing plist files from untrusted or unauthenticated sources whenever possible. 2) Implement input validation and size checks before passing plist files to the plistlib module, ensuring that size fields are within reasonable bounds to prevent excessive memory allocation. 3) Employ resource limits at the operating system or container level (e.g., cgroups, ulimit) to restrict memory usage of Python processes, mitigating the impact of potential OOM conditions. 4) Monitor Python application logs and system resource usage for signs of abnormal memory consumption or crashes related to plist parsing. 5) Stay updated with Python Software Foundation releases and apply patches promptly once available. 6) Consider sandboxing or isolating processes that handle plist files to contain potential denial of service effects. 7) For developers, review and contribute to the plistlib module code to add robust size validation and error handling to prevent similar issues in future versions. These targeted actions go beyond generic advice by focusing on controlling input size, resource constraints, and proactive monitoring specific to plist parsing.
Affected Countries
United States, China, India, Germany, United Kingdom, Japan, France, Canada, Australia, South Korea
CVE-2025-13837: Vulnerability in Python Software Foundation CPython
Description
When loading a plist file, the plistlib module reads data in size specified by the file itself, meaning a malicious file can cause OOM and DoS issues
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2025-13837 identifies a resource exhaustion vulnerability in the plistlib module of CPython, the reference implementation of the Python programming language maintained by the Python Software Foundation. The plistlib module is responsible for parsing plist (property list) files, commonly used for configuration and data serialization, especially on macOS and iOS platforms. The vulnerability stems from the module reading data sizes directly from the plist file without adequate validation or bounds checking. An attacker who can supply a malicious plist file can specify arbitrarily large size values, causing the parser to allocate excessive memory buffers. This uncontrolled resource consumption can lead to out-of-memory conditions, causing the Python process to crash or become unresponsive, resulting in a denial of service. The vulnerability affects multiple CPython versions, including 3.11.0 through 3.15.0a1, and even the initial version 0, indicating a long-standing issue. The CVSS 4.0 vector indicates local attack vector (AV:L), low attack complexity (AC:L), no privileges required (PR:N), no user interaction (UI:N), and limited impact on availability (VA:L), with no impact on confidentiality or integrity. The vulnerability is categorized under CWE-400, highlighting uncontrolled resource consumption. No known exploits have been reported in the wild, and no official patches have been linked yet, suggesting that mitigation may rely on cautious handling of plist files or third-party patches. This vulnerability primarily impacts applications and systems that use CPython to parse plist files, especially those that process untrusted or user-supplied plist data.
Potential Impact
The primary impact of CVE-2025-13837 is denial of service through resource exhaustion. Organizations running Python applications that parse plist files using the vulnerable plistlib module may experience crashes or service interruptions if exposed to malicious plist files. This can affect backend services, automation scripts, or desktop applications that rely on plist parsing. While the vulnerability does not directly compromise confidentiality or integrity, the resulting denial of service can disrupt business operations, degrade user experience, and potentially cause cascading failures in dependent systems. Since exploitation requires local access to supply the malicious file, remote exploitation is unlikely unless combined with other vulnerabilities or misconfigurations. The impact is more significant in environments where plist files are received from untrusted sources or where automated processing of plist files occurs without validation. Given the widespread use of Python globally, especially in development, automation, and system management, the vulnerability has broad potential reach but limited severity due to exploitation constraints.
Mitigation Recommendations
To mitigate CVE-2025-13837, organizations should implement the following specific measures: 1) Avoid parsing plist files from untrusted or unauthenticated sources whenever possible. 2) Implement input validation and size checks before passing plist files to the plistlib module, ensuring that size fields are within reasonable bounds to prevent excessive memory allocation. 3) Employ resource limits at the operating system or container level (e.g., cgroups, ulimit) to restrict memory usage of Python processes, mitigating the impact of potential OOM conditions. 4) Monitor Python application logs and system resource usage for signs of abnormal memory consumption or crashes related to plist parsing. 5) Stay updated with Python Software Foundation releases and apply patches promptly once available. 6) Consider sandboxing or isolating processes that handle plist files to contain potential denial of service effects. 7) For developers, review and contribute to the plistlib module code to add robust size validation and error handling to prevent similar issues in future versions. These targeted actions go beyond generic advice by focusing on controlling input size, resource constraints, and proactive monitoring specific to plist parsing.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- PSF
- Date Reserved
- 2025-12-01T17:54:41.439Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 692ddb371fcc71981e81acf2
Added to database: 12/1/2025, 6:15:19 PM
Last enriched: 3/3/2026, 6:32:15 PM
Last updated: 3/25/2026, 2:26:56 AM
Views: 435
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.