CVE-2025-29688

6.1 MEDIUM

📋 TL;DR

A stored cross-site scripting (XSS) vulnerability in OA System allows attackers to inject malicious scripts into the title parameter of the day management controller. This enables session hijacking, credential theft, or content manipulation when users view affected pages. All users of OA System versions before 2025.01.01 are potentially affected.

💻 Affected Systems

Products:
  • OA System
Versions: All versions before v2025.01.01
Operating Systems: Any OS running the OA System application
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default configuration and requires no special settings to be exploitable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, hijack user sessions, deface the application, or redirect users to malicious sites, potentially leading to complete system compromise.

🟠

Likely Case

Attackers inject malicious scripts to steal user session cookies or credentials, enabling unauthorized access to sensitive OA system data and functions.

🟢

If Mitigated

With proper input validation and output encoding, the attack would fail to execute, limiting impact to attempted exploitation attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

The vulnerability requires authentication to access the affected endpoint, but once authenticated, exploitation is straightforward with basic XSS payloads.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v2025.01.01

Vendor Advisory: https://gitee.com/hailey888/oa_system/issues/IBRRZX

Restart Required: Yes

Instructions:

1. Download OA System v2025.01.01 or later from the official repository. 2. Backup current installation and data. 3. Deploy the updated version following vendor deployment procedures. 4. Restart the application server.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation to sanitize the title parameter before processing.

Implement regex filtering: /[^a-zA-Z0-9\s\-\_\,\.\!\?]/g

Output Encoding

all

Apply proper HTML encoding to all user-controlled data before rendering in web pages.

Use HTML entity encoding: &lt; for <, &gt; for >, &amp; for &, &quot; for ", &#39; for '

🧯 If You Can't Patch

  • Implement a web application firewall (WAF) with XSS protection rules to block malicious payloads.
  • Disable or restrict access to the /daymanager/daymanageabilitycontroller endpoint if not business-critical.

🔍 How to Verify

Check if Vulnerable:

Test by submitting a basic XSS payload like <script>alert('test')</script> to the title parameter and check if it executes when viewing the page.

Check Version:

Check application version in admin panel or configuration files; look for version string in web page source.

Verify Fix Applied:

After patching, attempt the same XSS payload and verify it's properly sanitized (shows as plain text rather than executing).

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /daymanager/daymanageabilitycontroller with script tags or JavaScript in parameters
  • Multiple failed login attempts followed by successful access to vulnerable endpoint

Network Indicators:

  • HTTP requests containing <script> tags or JavaScript functions in title parameter
  • Outbound connections to suspicious domains from OA System server

SIEM Query:

source="oa_system_logs" AND (uri="/daymanager/daymanageabilitycontroller" AND (param="*<script>*" OR param="*javascript:*"))

🔗 References

📤 Share & Export