A critical vulnerability has been identified in Omnissa Workspace One UEM (formerly VMware Workspace One UEM), designated as CVE-2025-25231. This flaw allows unauthenticated attackers to perform path traversal attacks within a secondary context, ultimately leading to information disclosure and potential Remote Code Execution (RCE). The vulnerability resides within the SystemAppMetadataV1Controller, specifically in how the application handles the packageId parameter during request routing. Remediation is available in versions 24.10.0.11, 24.6.0.35, 24.2.0.30, and 23.10.0.50.
The vulnerability resides within the DevicesGateway application, specifically inside the SystemAppMetadataV1Controller. This component is designed to retrieve package information without requiring user authentication. The flaw stems from how the application handles the packageId parameter, which is used to construct the resource string for internal routing. Due to improper input validation, this parameter can be manipulated to traverse the URL path, effectively tricking the system into routing the request to unintended internal endpoints with elevated privileges.
The core of the issue lies in the GetSystemAppMetadataAsync method within the SystemAppMetadataV1Controller. It is observed that the packageId is taken directly from the URL path and concatenated to form a resource string. While packageId is intended as a path parameter, it was found that the path parameter can be overridden by supplying packageId in the URL query string, a quirk necessary for exploitation.
Crucially, the code concatenates this user-controlled input directly into a resource string:
|
[VersionedRoute("system-app-metadata/{packageId}", 1, null)]
|
The constructed resource string is subsequently passed to UpdateAndRouteRequestAsync. This function initiates a process to determine the internal destination of the request.
The UpdateAndRouteRequestAsync method forwards the request details to RouteRequestAsync, which effectively acts as a proxy. The routing logic relies on GetApiDetailsAsync to resolve the destination URL and the appropriate authentication tokens.
This resolution process uses regular expressions defined in a static JSON configuration file (devicesGatewayConfiguration.json) to match the resource string against known patterns.
|
ApiConfiguration apiConfiguration = configuration.ApiConfigurations |
If a match is found, the system assigns an authentication token valid for the internal module.
The vulnerability arises because the path traversal characters (e.g., ..//) in the resource string are interpreted by the system in a way that alters the final destination path while retaining the high-privilege context. An attacker can exploit this behavior by supplying a crafted packageId containing traversal sequences:
|
GET /DevicesGateway/apps/system-app-metadata/1?packageId=../../../../API/system/users/search%3fpagesize=10 HTTP/1.1 <TRUNCATED> |
This request bypasses authentication and returns a list of users.
A more effective target for escalation is the list of active admin users, accessible via /API/system/admins/search?status=active. With a list of administrative usernames, a password spraying attack can be executed. The spraying is performed against the /AirWatch/Login/Login/Login-User endpoint.
If a correct password is found and Global Administrator access is gained, the attack can be escalated to Remote Code Execution. This is achieved by modifying the "Blob Cache Store Path" setting to a web-accessible directory (ideally the Default Website).
While file uploads are restricted by requiring encrypted file extensions (specifically via the encryptedAllowedFileType parameter context), the encryption implementation relies on a hardcoded master key. The default master key is defined as follows:
|
public MasterKey() |
Attackers can generate a valid encrypted string for extensions like .aspx by utilizing this hardcoded key. This encrypted string is then used to bypass restrictions and upload a webshell.
We also strongly suggest simulating the Omnissa Workspace ONE UEM CVE-2025-25231 vulnerability to test the effectiveness of your security controls against sophisticated cyber attacks using the Picus Security Validation Platform. You can also test your defenses against other vulnerability exploitation attacks, such as regreSSHion, Citrix Bleed, and Follina, within minutes with a 14-day free trial of the Picus Platform.
Picus Threat Library includes the following threats for Omnissa Workspace ONE UEM CVE-2025-25231 vulnerability exploitation attacks:
|
Threat ID |
Threat Name |
Attack Module |
|
31497 |
Omnissa Web Attack Campaign |
Web Application |
Start simulating emerging threats today and get actionable mitigation insights with a 14-day free trial of the Picus Security Validation Platform.