Intel

AIKIDO-2026-319121

pyod is vulnerable to Deserialization of Untrusted Data

Deserialization of Untrusted DataCVE-2026-15529 Published 6 days ago

63

Medium Risk

This Affects:

PYTHONpyod
3.5.0 - 3.6.1
Fixed in 3.6.2
Are you affected? Scan for Free

TL;DR

The pyod.utils.persistence module exposes load and compat_load helpers that restore saved detector models by deserializing them with joblib. Before the fix, both helpers unpickled the artifact immediately, so the envelope, schema, and strict-mode checks ran only after the pickle stream had already executed its embedded reducers. Loading a crafted model file therefore runs arbitrary code in the host process. The fix requires callers to pass an explicit trusted acknowledgement before either helper deserializes an artifact.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application loads pyod model artifacts from untrusted or unverified sources.

Background info

pyod is vulnerable to Deserialization of Untrusted Data in versions 3.5.0 - 3.6.1.

How to fix this

Upgrade the pyod library to the patch version.