CVE-2026-94093 DLR-RM stable-baselines3 save_util.py VecNormalize.load deserialization

Medium 5.3 Published Updated

Remote attackers can execute arbitrary code via unsafe pickle deserialization in stable-baselines3 load functions, affecting users of this reinforcement learning library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
None listed

What is CVE-2026-94093?

CVE-2026-94093 is a medium-severity unsafe deserialization vulnerability in DLR-RM stable-baselines3, published on 20 Sep 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

A security vulnerability has been detected in DLR-RM stable-baselines3 up to 2.9.0. This affects the function PPO.load/load_replay_buffer/VecNormalize.load of the file save_util.py. Such manipulation leads to deserialization. It is possible to launch the attack remotely. The exploit has been disclosed publicly and may be used. In v2.9.0 the PyTorch tensor load path is hardened (weights_only=True), but that hardening was later reverted on master via PR #1913 "Hotfix: revert loading with weights_only=True" [blocked] to fix PyTorch 1.13 compat - so even the one "safe" path is inconsistent across versions. #2281 was closed as a duplicate of #1831 since both are unsafe pickle deserialization - but #1831's fix (PR #41) only gated the Hugging Face Hub loader in the separate huggingface_sb3 package. This finding covers the core stable_baselines3 load APIs (PPO.load, load_replay_buffer, VecNormalize.load), which have no safe mode or gate and remained exploitable in v2.9.0 until the outstanding hardening (PR #2264) ships.

Weakness: CWE-502, CWE-20

Which versions are affected by CVE-2026-94093?

How do I fix CVE-2026-94093?

No fix has been published for CVE-2026-94093 yet. Limit exposure of the affected software until one is available.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is CVE-2026-94093 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-94093 exists.

Sources

Also known as GHSA-rh54-3493-vqgc.

Is CVE-2026-94093 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free