YAML safe_load production fallback to unsafe_load enables RCE via deserialization
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| ManageIQ | ManageIQ | affected |
|
||||||
| Red Hat | Red Hat CloudForms | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Manageiq | Manageiq |
|
Vendor Workaround
The following practices would help for avoiding exposure to this flaw: 1) Remove or disable the rescue Psych::DisallowedClass fallback in lib/extensions/yaml_load_aliases.rb. 2) Alternatively, restrict dialog import access to trusted administrators only.
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.447% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | A deserialization of untrusted data vulnerability was found in ManageIQ. The YamlLoadAliases module overrides YAML.safe_load to silently fall back to YAML.unsafe_load in production when a Psych::DisallowedClass error occurs. An authenticated attacker with dialog import access can exploit this to achieve remote code execution by uploading a crafted YAML payload that triggers the fallback and deserializes arbitrary Ruby objects. | A deserialization of untrusted data vulnerability was found in ManageIQ. The YamlLoadAliases module overrides YAML.safe_load to silently fall back to YAML.unsafe_load in production when a Psych::DisallowedClass error occurs. An authenticated attacker with dialog import access can exploit this to achieve remote code execution by uploading a crafted YAML payload that triggers the fallback and deserializes arbitrary Ruby objects. Red Hat CloudForms, which was based on ManageIQ, has reached End of Life and is no longer supported. No errata or patches will be issued. This CVE is being assigned for the benefit of the ManageIQ community and downstream consumers. |
| Title | manageiq: YAML safe_load production fallback to unsafe_load enables RCE via deserialization | YAML safe_load production fallback to unsafe_load enables RCE via deserialization |
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Manageiq
Manageiq manageiq |
|
| Vendors & Products |
Manageiq
Manageiq manageiq |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | A deserialization of untrusted data vulnerability was found in ManageIQ. The YamlLoadAliases module overrides YAML.safe_load to silently fall back to YAML.unsafe_load in production when a Psych::DisallowedClass error occurs. An authenticated attacker with dialog import access can exploit this to achieve remote code execution by uploading a crafted YAML payload that triggers the fallback and deserializes arbitrary Ruby objects. | |
| Title | manageiq: YAML safe_load production fallback to unsafe_load enables RCE via deserialization | |
| Weaknesses | CWE-502 | |
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|