CVE-2021-23338
Python vulnerability analysis and mitigation

Overview

The vulnerability (CVE-2021-23338) affects all versions of the qlib package, which is an AI-oriented quantitative investment platform. The vulnerability was discovered in the workflow function within the CLI component of qlib, where an unsafe YAML load function was being used. The issue was disclosed on December 28, 2020, and published on February 15, 2021 (NVD, Snyk).

Technical details

The vulnerability is classified as a Deserialization of Untrusted Data (CWE-502) issue. The workflow function in the CLI part of qlib was using an unsafe YAML load function, which could allow for arbitrary code execution. The vulnerability stems from the improper handling of YAML deserialization, where the code uses the potentially dangerous load() function instead of the safer safe_load() alternative (Huntr).

Impact

This vulnerability could allow attackers to execute arbitrary code through specially crafted YAML files. The deserialization of untrusted data could lead to remote code execution, potentially compromising the system running the affected qlib package (Snyk).

Exploitability

A proof-of-concept exploit exists that demonstrates the vulnerability. The exploit involves creating a malicious YAML file that, when processed by the workflow function, can execute arbitrary system commands. The vulnerability has a relatively low EPSS score of 0.19% (58th percentile), indicating a moderate likelihood of exploitation in the wild (Snyk, Huntr).

Mitigation and workarounds

The recommended mitigation is to use the safe_load() function instead of the unsafe load() function when handling YAML data. This safer alternative restricts the deserialization of potentially dangerous YAML constructs that could lead to code execution (Huntr).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-59971CRITICAL10
  • Python logoPython
  • mysql-mcp-server
NoYesSep 11, 2026
CVE-2026-59177HIGH8.8
  • Python logoPython
  • esphome-device-builder
NoYesSep 09, 2026
CVE-2026-88006MEDIUM6.5
  • Python logoPython
  • open-webui
NoYesSep 10, 2026
CVE-2026-88005MEDIUM6.5
  • Python logoPython
  • open-webui
NoYesSep 10, 2026
CVE-2026-49836MEDIUM4.6
  • Python logoPython
  • psd-tools
NoYesSep 10, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management