Impact
The pyod library contains a persistence.load function that deserializes objects from a file path specified by the caller. In versions up to 3.6.1, an attacker can manipulate the path argument so that the library deserializes arbitrary data. Because the code performs no validation of the path or the file contents, a crafted payload can include objects that trigger code execution or other unintended behavior. This flaw corresponds to CWE‑20 (Improper Input Validation) and CWE‑502 (Deserialization of Untrusted Data). The CVE states the attack can be initiated remotely, implying an external actor can trigger the vulnerability without local access.
Affected Systems
The issue affects deployments of the open‑source pyod package maintained by yzhao062 that use pyod version 3.6.1 or earlier and that invoke pyod.utils.persistence.load with a path that can be controlled by external users. The problem is mitigated in pyod version 3.6.2, so any environment running that or newer version is no longer vulnerable.
Risk and Exploitability
The technical severity is moderate, with a CVSS base score of 5.3. The EPSS score is lower than 1 %, indicating a low probability of exploitation observed in the wild. The vulnerability is not listed in the CISA KEV catalog. Because the flaw is reachable remotely by supplying a crafted path argument, an attacker could trigger arbitrary deserialization within the process that calls the function, potentially leading to unauthorized data processing or code execution. The scope is limited to the application that uses pyod, but the lack of input validation makes it theoretically possible to compromise the entire application.
OpenCVE Enrichment