CVE-2021-23338: qlib Deserialization of Untrusted Data vulnerability
6.6
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.92159%
CWE
Published
5/24/2022
Updated
10/14/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| pyqlib | pip | < 0.7.0 | 0.7.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
- The vulnerability description explicitly states the workflow function in the CLI component uses unsafe YAML loading.
- The provided exploit demonstrates code execution via malicious YAML payload passed to cli.workflow().
- The CWE-502 (Deserialization of Untrusted Data) classification matches the unsafe yaml.load() pattern.
- PyYAML's yaml.load() without a SafeLoader is a well-known anti-pattern for deserialization vulnerabilities.
- The patched version (0.7.0) likely replaced yaml.load() with yaml.safe_load() or equivalent safe loading method.