CVE-2025-54834
Executive Summary
CVE-2025-54834 is an information disclosure vulnerability in OPEXUS FOIAXpress Public Access Link (PAL) version v11.1.0. An unauthenticated, remote attacker can query the /App/CreateRequest.aspx endpoint to enumerate valid usernames. The vulnerability stems from the application returning distinct responses for valid versus invalid usernames, with no rate-limiting mechanisms in place. This allows attackers to build a list of valid accounts for further targeted attacks, such as credential stuffing or phishing. The CVSS score is 5.3 (Medium), and no patch is currently available.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – Impact confined to the vulnerable component.
- Confidentiality (C): Low (L) – Limited information disclosure (usernames).
- Integrity (I): None (N) – No data modification.
- Availability (A): None (N) – No denial of service.
Threat Level: Medium. While the direct impact is limited to username enumeration, this information can be leveraged in subsequent attacks, increasing the overall risk.
Deep Dive & Mechanics
The vulnerability exists in the /App/CreateRequest.aspx endpoint of the OPEXUS FOIAXpress PAL application. When an unauthenticated user submits a request to this endpoint with a username parameter, the application responds differently based on whether the username exists in the system.
Mechanism:
- The attacker sends a POST or GET request to
/App/CreateRequest.aspxwith ausernameparameter. - The application queries the backend database to check if the username exists.
- If the username exists, the application returns a response indicating success or a specific error message (e.g., "User already exists" or a redirect to a different page).
- If the username does not exist, the application returns a generic error or a different HTTP status code.
Root Cause: The application does not implement rate limiting or generic error messages for username validation. This allows an attacker to brute-force usernames without being blocked.
Attack Scenario:
- Attacker identifies the target OPEXUS FOIAXpress PAL instance.
- Attacker uses a wordlist of common usernames or employee names.
- Attacker sends requests to
/App/CreateRequest.aspxwith each username. - Attacker analyzes responses to identify valid usernames.
- Attacker uses valid usernames for credential stuffing, phishing, or other attacks.
Vulnerable vs. Patched Code
Vulnerable Code (v11.1.0):
// Example vulnerable code snippet
protected void Page_Load(object sender, EventArgs e)
{
string username = Request.QueryString["username"];
if (!string.IsNullOrEmpty(username))
{
if (UserExists(username))
{
Response.Write("User already exists");
}
else
{
Response.Write("Invalid username");
}
}
}
Patched Code (Hypothetical):
// Example patched code snippet
protected void Page_Load(object sender, EventArgs e)
{
string username = Request.QueryString["username"];
if (!string.IsNullOrEmpty(username))
{
// Generic response regardless of user existence
Response.Write("Request submitted. Check your email for further instructions.");
// Implement rate limiting
if (IsRateLimited(Request.UserHostAddress))
{
Response.StatusCode = 429;
Response.Write("Too many requests. Please try again later.");
return;
}
// Log the attempt for monitoring
LogAttempt(Request.UserHostAddress, username);
}
}
Exploitation & Lab Setup
Red Team
Lab Setup:
- Deploy a vulnerable instance of OPEXUS FOIAXpress PAL v11.1.0 in a controlled environment.
- Create a list of test usernames (e.g.,
admin,user1,john.doe).
Exploitation Steps:
- Use
curlto test username enumeration:curl -X GET "http://target/App/CreateRequest.aspx?username=admin" - Automate enumeration with a script:
#!/bin/bash for user in $(cat usernames.txt); do response=$(curl -s -o /dev/null -w "%{http_code}" "http://target/App/CreateRequest.aspx?username=$user") if [ "$response" == "200" ]; then echo "Valid user: $user" fi done - Use Burp Suite Intruder to brute-force usernames with a wordlist.
Blue Team
Detection Steps:
- Monitor for multiple requests to
/App/CreateRequest.aspxfrom the same IP address. - Look for patterns of sequential username attempts.
- Alert on high volumes of 200 OK responses from this endpoint.
Mitigation Steps:
- Implement rate limiting on the endpoint.
- Return generic error messages regardless of username validity.
- Use CAPTCHA or other challenge-response mechanisms.
- Log and alert on suspicious activity.
Indicators of Compromise (IOCs)
Network IOCs:
- Multiple HTTP requests to
/App/CreateRequest.aspxwith varyingusernameparameters. - High volume of requests from a single IP address.
- User-agent strings indicating automated tools (e.g.,
curl,python-requests,Burp Suite).
- Multiple HTTP requests to
Host IOCs:
- Web server logs showing repeated 200 OK responses for
/App/CreateRequest.aspx. - Application logs showing failed login attempts following username enumeration.
- Web server logs showing repeated 200 OK responses for
File IOCs:
- Wordlists or scripts used for username enumeration (e.g.,
usernames.txt,enum.sh).
- Wordlists or scripts used for username enumeration (e.g.,
Detection Engineering
YARA Rule
rule CVE_2025_54834_Username_Enumeration {
meta:
description = "Detects attempts to exploit CVE-2025-54834 for username enumeration"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-54834"
strings:
$s1 = "/App/CreateRequest.aspx" ascii wide nocase
$s2 = "username=" ascii wide nocase
condition:
all of them
}
Sigma Rule
title: CVE-2025-54834 Username Enumeration Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects multiple requests to /App/CreateRequest.aspx with different username parameters
author: Valters IT
date: 2025/04/10
logsource:
category: webserver
product: iis
detection:
selection:
cs-uri-stem: '/App/CreateRequest.aspx'
cs-uri-query|contains: 'username='
condition: selection
timeframe: 5m
aggregation:
field: c-ip
condition: gt 10
falsepositives:
- Legitimate user registration attempts
level: medium
Suricata Rule
alert http $EXTERNAL_NET any -> $HOME_NET any (
msg:"CVE-2025-54834 - OPEXUS FOIAXpress PAL Username Enumeration";
flow:to_server,established;
content:"/App/CreateRequest.aspx"; http_uri;
content:"username="; http_uri;
threshold: type both, track by_src, count 10, seconds 300;
sid:1000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Implement Rate Limiting: Configure the web server (e.g., IIS) to limit requests to
/App/CreateRequest.aspxper IP address. - Generic Error Messages: Modify the application to return the same response for both valid and invalid usernames.
- CAPTCHA: Add a CAPTCHA challenge to the endpoint to prevent automated requests.
Long-Term Fixes:
- Patch Application: Apply any official patches from OPEXUS when available.
- Code Review: Conduct a security review of the application to identify similar vulnerabilities.
- Web Application Firewall (WAF): Deploy a WAF with rules to block username enumeration patterns.
Workarounds:
- Disable the
/App/CreateRequest.aspxendpoint if not required. - Restrict access to the endpoint via IP whitelisting.
Report generated by Valters IT DevSecOps & CTI Division
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.