Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with dialog import access
-
DeliveryUpload crafted YAML dialog payload
-
ExploitTrigger Psych::DisallowedClass error
-
ExecutionSilent fallback to YAML.unsafe_load deserializes gadget
-
ImpactExecute arbitrary Ruby code on appliance
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated ManageIQ (or CloudForms) account that holds dialog import privileges - not an anonymous or read-only user. The instance must be running in production mode, because the vulnerable YamlLoadAliases fallback from YAML.safe_load to YAML.unsafe_load is specifically the production behavior. The attacker must supply a YAML payload containing a class disallowed by safe_load so that Psych::DisallowedClass is raised, which is the exact event that activates the unsafe deserialization path. Limiting factors: the dialog-import authorization requirement (PR:L) confines this to insiders or already-compromised accounts, and CloudForms being EOL means affected operators cannot patch and must rely on restricting the dialog-import role. |
| Impact | This is a credible, high-priority vulnerability for any live ManageIQ deployment, but with important caveats. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) correctly reflects network-reachable, low-complexity exploitation requiring only low-level authentication, and the C:H/I:H/A:H impact matches a full remote-code-execution outcome via Ruby object deserialization (CWE-502) - a well-understood and reliably weaponizable class of bug. The design flaw is especially concerning because it is not an edge case: the YamlLoadAliases module deliberately falls back from YAML.safe_load to YAML.unsafe_load in production whenever a Psych::DisallowedClass error occurs, meaning a disallowed (malicious) class is precisely the trigger that activates the unsafe path. No EPSS score, KEV listing, or public POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of in-the-wild activity - the real-world threat is currently potential rather than demonstrated. The main mitigating factor is the PR:L requirement: the attacker must already hold an authenticated account with dialog import access, which bounds this to insiders or post-compromise lateral movement rather than anonymous internet scanning. Note also a scope nuance: Red Hat CloudForms (one of the two affected CPEs) is End of Life and will receive no patch, so CloudForms operators carry unremediable residual risk and should treat this as compensating-control-only. |
| Exploit ScenarioDerived | An authenticated ManageIQ user who has been granted dialog import permission uploads a maliciously crafted YAML dialog definition. The payload references a Ruby class disallowed by safe_load, which raises Psych::DisallowedClass and silently triggers the production fallback to unsafe_load, deserializing the attacker's gadget chain and executing arbitrary code on the appliance. No public exploit was identified in the provided data, but deserialization-to-RCE via Ruby/Psych is a well-established and reliable technique given the required privilege. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Remote code execution in ManageIQ (and its downstream Red Hat CloudForms) is possible because the YamlLoadAliases module overrides YAML.safe_load so that in production a Psych::DisallowedClass error silently falls back to YAML.unsafe_load, deserializing arbitrary Ruby objects. An authenticated attacker holding dialog import privileges (CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, base 8.8) can upload a crafted YAML dialog payload containing a disallowed class to trigger an unsafe deserialization path with full confidentiality, integrity, and availability impact. No public exploit code has been identified at time of analysis and there is no CISA KEV listing, but Red Hat CloudForms has reached End of Life and no errata will be issued, so CloudForms operators cannot patch and must depend on restricting the dialog import role.
RemediationAI
No vendor-released patch has been identified at time of analysis: Red Hat states that CloudForms is End of Life and that no errata or patches will be issued, and the ManageIQ CVE record (https://access.redhat.com/security/cve/CVE-2026-52903, Bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2486730) does not name a fixed version, so support now falls to the upstream ManageIQ community. The most effective compensating control is to remove or neutralize the dangerous fallback in the YamlLoadAliases module so that a rescued Psych::DisallowedClass propagates as an error instead of calling YAML.unsafe_load in the production code path; the trade-off is that legitimate dialogs relying on aliases or otherwise disallowed classes will fail to import and must be re-serialized with permitted types. In parallel, restrict the dialog import privilege to a minimal set of trusted administrators, since the vulnerability requires an authenticated account with that role (PR:L) and cannot be reached anonymously or by read-only users. If dialog import is not operationally required, disable the feature entirely; otherwise audit existing and newly uploaded dialog YAML for suspicious Ruby object tags such as !ruby/object and alert on Psych::DisallowedClass exceptions, which are the exact trigger for the unsafe path. Finally, CloudForms operators on an unsupported EOL release should plan migration to a maintained platform, as no patch path exists for that product branch.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
ManageIQ is a Ruby on Rails cloud-management platform whose dialog import feature parses user-supplied YAML. Ruby's Psych library provides YAML.safe_load, which restricts deserialization to a permitted class list, and Psych::DisallowedClass is the exception raised when a payload references a class outside that list. The defective YamlLoadAliases monkey-patch/reopening overrides YAML.safe_load and rescues Psych::DisallowedClass by delegating to YAML.unsafe_load specifically in production mode, converting a hardened parser into an unrestricted one. That re-enables Ruby object instantiation from YAML tags such as !ruby/object:..., the classic CWE-502 (Deserialization of Untrusted Data) pattern that yields code execution through Ruby object/gadget chains. The supplied CPEs, cpe:2.3:a:manageiq:manageiq:*:*:*:*:*:*:*:* and cpe:2.3:a:red_hat:red_hat_cloudforms:*:*:*:*:*:*:*:*, use unsupported wildcards for the version field, indicating vendor enumeration did not pin a fixed version, so all ManageIQ releases and all CloudForms releases should be treated as potentially affected. Exploitation requires the instance to run in production mode (the fallback is production-specific behavior), an account with dialog import rights, and a payload that intentionally raises Psych::DisallowedClass to activate the unsafe path.
Know when Manageiq gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Dialog import is a web-reachable authenticated feature (AV:N, PR:L), the fallback triggers deterministically on a disallowed class (AC:L), and Ruby deserialization yields full RCE (C:H/I:H/A:H).
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
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.
Executive ViewAI
ManageIQ and its downstream Red Hat CloudForms contain an authenticated remote code execution flaw in the YAML dialog import feature that grants full control of the affected management platform to any user holding dialog import rights. Because CloudForms has reached End of Life, Red Hat will not issue errata, leaving operators permanently exposed and dependent on access restrictions rather than a fix. Leadership should treat this as a standing risk to the integrity of virtualization and cloud management infrastructure, since a single compromised privileged account could yield complete confidentiality, integrity, and availability loss across managed environments.
No vendor-released patch identified at time of analysis. Interim mitigations: remove dialog import privileges from all non-essential accounts and restrict the role to a minimal trusted group; enforce strong authentication and monitoring on those accounts; segment ManageIQ and CloudForms management interfaces from general user networks; enable detailed audit logging of dialog import and deserialization events; and plan migration off End of Life CloudForms to a supported platform.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-97362
GHSA-rwm4-fgr7-vcr6
NVD
CVE.org
EPSS
Exploit-DB