← Back to results
Vulnerability record · public intelligence
CVE-2026-94093
MEDIUM

DLR-RM stable-baselines3 save_util.py VecNormalize.load deserialization

Published Sep 20, 2026 · Updated Oct 23, 2026

Severity · CVSSMEDIUM · 6.3
Known exploitationNot listed
EPSS / likelihood0.45%
QFinch risk scoreNot available

Original summary

Normalized public record · Updated Oct 23, 2026

DLR-RM stable-baselines3 save_util.py VecNormalize.load deserialization

Publisher and source text is retained separately from QFinch interpretation.

QFinch assessment

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.

Evidence: public source records

Affected products

Affected scope reported by the available public evidence
Affected package, product or rangeFix status
Consult the referenced vendor advisory for affected versions.Consult source advisory

Matching a version is only one part of assessing exposure. QFinch has not assessed your environment on this public page.

Remediation

Apply the vendor-supported fixed release or mitigation, then verify the affected component is no longer reachable.

  1. Confirm the affected product and reachable code path exist in your environment.
  2. Apply the vendor-supported patch or mitigation from the primary advisory.
  3. Rescan the exact deployed revision and retain verification evidence.
Review primary references

Evidence coverage

CVENVDEPSS
SSVC priority
LOW
Confidence
Not available
Aliases
None reported

Scores appear only when corresponding evidence exists. Missing data is never interpreted as zero risk.

Sources and record history

  1. VDB-408021 | DLR-RM stable-baselines3 save_util.py VecNormalize.load deserialization ↗
  2. VDB-408021 | CTI Indicators (IOB, IOC, IOA) ↗
  3. CVE-2026-94093 | CVE Analysis and Report ↗
  4. Submit #952734 | DLR-RM stable-baselines3 v2.9.0 rce ↗
  5. Source repository ↗
  6. Source repository ↗

Record history

Published Sep 20, 2026 · Last refreshed Oct 23, 2026