O2OA Stored Cross-Site Scripting Vulnerability in Personal Profile Page Component

Vulnerability

A stored cross-site scripting vulnerability has been identified in O2OA versions through 10.0-410. The issue resides in the Personal Profile Page component, specifically within the '/x_query_assemble_designer/jaxrs/table' endpoint. The vulnerability is caused by user input in the 'description', 'applicationName', and 'queryName' fields being stored without proper sanitization. This unsanitized input is later rendered in the application, allowing for the execution of malicious scripts. The vulnerability can be exploited remotely, and a public proof-of-concept exploit is available.

Impact

Exploitation of this vulnerability allows for the persistent execution of JavaScript in the context of the victim's browser. This could lead to the theft of session tokens or sensitive user information, as well as the performance of unauthorized actions on behalf of authenticated users.

Reproduction

To reproduce this vulnerability, send a POST request to the '/x_query_assemble_designer/jaxrs/table' endpoint with an unsanitized payload in the 'description', 'applicationName', and 'queryName' fields. Include the necessary headers and authorization token. Once the payload is stored, it will be executed when the profile is viewed, confirming the presence of the cross-site scripting vulnerability.

Remediation

The vendor has acknowledged this issue and stated that it will be fixed in a future version. In the meantime, it is recommended to filter and escape user input in profile fields before storing it, and to ensure proper output encoding when displaying data.

Added: Aug 31, 2025, 4:21 PM
Updated: Aug 31, 2025, 4:21 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
6.0
exploitability
6.3
remediation
0.0
relevance
0.4
threat
6.4
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.