CVE-2017-1002157: modulemd uses an unsafe function for processing externally provided data
9.8
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.71746%
CWE
Published
1/17/2019
Updated
9/24/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| modulemd | pip | < 1.3.2 | 1.3.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from unsafe YAML deserialization. The Pagure.io issue #55 explicitly identifies modulemd.loads_all() using yaml.load_all() as the root cause. yaml.load()/load_all() with default Loader is known to be unsafe (CWE-242) as it can execute arbitrary Python code. The fix in version 1.3.2 would have involved switching to yaml.safe_load_all(). The combination of external data processing (CWE-20) and dangerous function usage (CWE-242) matches the vulnerability description and CWE mappings.