CVE-2025-65581

5.3 MEDIUM

📋 TL;DR

An open redirect vulnerability in Volosoft ABP Framework's Account module allows attackers to redirect users to malicious external websites by manipulating the returnUrl parameter during registration. This affects all applications using ABP Framework versions 5.1.0 through 10.0.0-rc.1. Users could be tricked into visiting phishing sites or downloading malware.

💻 Affected Systems

Products:
  • Volosoft ABP Framework
Versions: >= 5.1.0 and < 10.0.0-rc.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All applications using affected ABP Framework versions with the Account module enabled are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Users redirected to sophisticated phishing sites that steal credentials or deliver malware, leading to account compromise, data theft, or ransomware infection.

🟠

Likely Case

Users redirected to phishing pages attempting to steal login credentials or personal information, potentially leading to account takeover.

🟢

If Mitigated

Users see warning messages or are blocked from external redirects, preventing successful phishing attacks.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Attack requires user interaction (clicking a crafted registration link) but is trivial to execute once the malicious URL is created.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 10.0.0-rc.2 or later

Vendor Advisory: https://github.com/abpframework/abp/commit/44a2dc14e933f3ce1ca93f9313d836694ab77d1d

Restart Required: Yes

Instructions:

1. Update ABP Framework to version 10.0.0-rc.2 or later. 2. Rebuild and redeploy your application. 3. Restart application services.

🔧 Temporary Workarounds

Input Validation Filter

all

Add server-side validation to reject returnUrl parameters containing external domains

Implement custom validation in AccountController.Register method to check returnUrl against allowed domains

URL Whitelist

all

Restrict returnUrl to only allow relative URLs or specific trusted domains

Configure URL validation to only permit returnUrl values starting with '/' or specific approved domains

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block requests with external URLs in returnUrl parameter
  • Monitor logs for suspicious redirect patterns and implement user education about phishing risks

🔍 How to Verify

Check if Vulnerable:

Test by attempting registration with returnUrl parameter set to external domain like https://evil.com

Check Version:

Check package version: dotnet list package Volo.Abp.* or examine project dependencies

Verify Fix Applied:

After patching, test with same external URL - should be blocked or sanitized

📡 Detection & Monitoring

Log Indicators:

  • HTTP 302 redirects to external domains from registration endpoints
  • Unusual spikes in /Account/Register requests with returnUrl parameters

Network Indicators:

  • Outbound connections to suspicious domains following registration requests

SIEM Query:

source="web_logs" AND uri_path="/Account/Register" AND query_string="*returnUrl=http*" | stats count by src_ip

🔗 References

📤 Share & Export