CKAN
CVE-2025-64100
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain/plant known session id in victim browser
-
DeliveryDeliver fixed-session cookie to victim
-
ExploitVictim authenticates reusing attacker's session id
-
ExecutionAttacker replays fixed session as authenticated user
-
ImpactAccess victim account and data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session fixation prevention
|
| Exploitation Conditions | Exploitable ONLY when the CKAN site is reconfigured to use server-side session storage (e.g. SESSION_TYPE=redis, as shown in the fix's regression test) - the default cookie-based session storage is NOT affected. The attacker must additionally pre-establish a known session identifier in the victim's browser (set a cookie) OR steal the victim's currently-valid session, and the victim must then perform an interactive login (UI:R) for the fixed session to become authenticated. Limiting factors: the non-default configuration requirement, the dependency on a separate cookie-injection/MITM capability, and the required victim login materially shrink the exploitable population and raise attack complexity. |
| Impact | This is a genuine-but-conditional session fixation flaw (CWE-384) whose real-world risk is substantially lower than its 6.1 CVSS might suggest to a scanner. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N) already encodes the two biggest mitigating factors: AC:H reflects the non-default prerequisite (server-side session storage - CKAN ships with cookie-based storage by default, which is NOT affected), and UI:R reflects that the victim must actively log in for the fixed session to be elevated. PR:N confirms the attacker needs no account of their own, but the attacker must FIRST either set a cookie in the victim's browser or steal a currently-valid session, which itself presumes a prior foothold (XSS, MITM, or shared/subdomain cookie control). No EPSS score, no CISA KEV listing, and no public proof-of-concept were provided in the intelligence set - only a vendor GHSA advisory and the fix commit - so there is no public exploit identified at time of analysis and no evidence of active exploitation. Net: this is a defensible-priority patch for the subset of CKAN operators running server-side (e.g. Redis) session storage, but it is not a drop-everything issue and should be deprioritized relative to unauthenticated RCE or default-config flaws. Conflict to note: CVSS marks C:H via session/account takeover, yet the input Description frames impact narrowly as session fixation with no direct data-write claim - treat the C:H as account-compromise potential rather than confirmed mass data exposure. |
| Exploit ScenarioDerived | An attacker targets a CKAN portal that has been reconfigured for server-side (e.g. Redis) session storage rather than the default cookie storage. The attacker plants a known session identifier in the victim's browser (for example via a cookie-injection vector or a controlled subdomain) and waits for the victim to authenticate; because the pre-patch code did not regenerate the session id on login, the attacker's pre-set session becomes an authenticated session for the victim's account. No public exploit code was provided in the intelligence set. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Session fixation in CKAN (CWE-384) allows an attacker to pre-plant a known session identifier that becomes authenticated after the victim logs in, because the application failed to regenerate session IDs on login. Only deployments reconfigured away from CKAN's default cookie-based sessions to server-side storage such as SESSION_TYPE=redis are exposed; the attacker must also be able to set a cookie in the victim's browser or steal an existing valid session, and the victim must then complete an interactive login. Fixed in CKAN 2.10.9 and 2.11.4, with no public exploit code or confirmed active exploitation identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to CKAN 2.10.9 or 2.11.4, which regenerate the session identifier on login via current_app.session_interface.regenerate(session) in ckan/views/user.py (see https://github.com/ckan/ckan/commit/c2fe437f88be850a6edf7a32470772428819fab5 and advisory https://github.com/ckan/ckan/security/advisories/GHSA-2hvh-cw5c-8q8q). Where upgrading immediately is not possible, the highest-value compensating control is to confirm whether SESSION_TYPE is set to a server-side backend (e.g. redis); if so, switching back to the default cookie-based session storage removes the exposure entirely - the trade-off is that large session payloads return to the client cookie and server-side revocation/logout-invalidation capability is lost. If server-side sessions must be retained, terminate and re-issue sessions at the reverse proxy or WSGI layer on every successful login, and enforce TLS with HSTS plus a strict __Host- cookie prefix on the session cookie to make external cookie injection harder (trade-off: HSTS and prefix changes can break mixed-HTTP integrations and legacy subdomain flows, and neither substitutes for regeneration). Finally, invalidate all sessions and force re-authentication after applying the patch, since pre-fixation sessions created before the upgrade remain valid.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CKAN is a Python/Flask open-source data management system (DMS) used to power data hubs and portals. Flask's default client-side session interface signs and stores session data in the 'ckan' cookie, which is not susceptible to classic session-ID fixation. When operators switch to a server-side session backend - the fix's regression test (ckan/tests/config/test_sessions.py::test_redis_session_fixation) demonstrates SESSION_TYPE=redis - a persistent session identifier is issued and reused across the authentication boundary. The root cause is CWE-384 (Session Fixation): ckan/views/user.py's login() view never called the backend's session regeneration hook, so a session ID known to the attacker prior to login remained valid and privileged after login. The upstream commit c2fe437f88be850a6edf7a32470772428819fab5 adds a call to current_app.session_interface.regenerate(session) guarded by hasattr(), regenerating the identifier whenever a session is established and thereby invalidating any pre-fixated value. Impact per the assessed vector is primarily confidentiality (C:H) with limited integrity effect (I:L) - an attacker holding a fixated session after victim login can read authenticated data as that user; scope is unchanged (S:U) and high attack complexity (AC:H) plus user interaction (UI:R) reflect the cookie-injection/steal and victim-login prerequisites.
Know when Ckan gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N
AC:H for the non-default server-side storage plus required cookie-planting precondition; PR:N since the attacker needs no account; UI:R as the victim must log in; C:H/I:L for account takeover with limited write capability.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
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
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
CKAN is an open-source data management system for powering data hubs and data portals. Rated critical severity (CVSS 9.8
CKAN is an open-source data management system for powering data hubs and data portals. Rated high severity (CVSS 8.8), t
CKAN through 2.9.6 account takeovers by unauthenticated users when an existing user id is sent via an HTTP POST request.
CKAN is an open-source DMS (data management system) for powering data hubs and data portals. Rated high severity (CVSS 7
CKAN is an open-source data management system for powering data hubs and data portals. Rated medium severity (CVSS 6.5),
CKAN is an open-source data management system for powering data hubs and data portals. Rated medium severity (CVSS 6.5),
CKAN is an open-source data management system for powering data hubs and data portals. Rated medium severity (CVSS 6.1),
In CKAN, versions 2.9.0 to 2.9.3 are affected by a stored XSS vulnerability via SVG file upload of users’ profile pictur
CKAN is an open-source data management system for powering data hubs and data portals. Rated medium severity (CVSS 5.3),
A user endpoint didn't perform filtering on an incoming parameter, which was added directly to the application log. Rate
NVD
CVE.org
EPSS
GitHub
Exploit-DB