PSF-2025-15: Out-of-memory when loading Plist
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
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
An attacker needs to cause the application to load a malicious plist file. The file can specify a data size that causes plistlib to consume excessive memory, leading to an out-of-memory condition and denial of service.
Applications that use Python's plistlib module to load plist files from untrusted or attacker-controlled sources are exposed. The provided information does not identify specific affected Python versions or configurations.
Avoid loading untrusted plist files with plistlib, or validate and restrict plist inputs before loading them. Apply resource limits to the process where possible to reduce the impact of memory exhaustion.