Rack up to 2.2.13 Session Cookie Rack::Session race condition
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 4.5 | $0-$5k | 0.00 |
Summary
A vulnerability labeled as problematic has been found in Rack up to 2.2.13. Affected by this issue is the function Rack::Session of the component Session Cookie Handler. The manipulation results in race condition.
This vulnerability was named CVE-2025-32441. The attack may be performed from remote. There is no available exploit.
The affected component should be upgraded.
Details
A vulnerability was found in Rack up to 2.2.13. It has been classified as problematic. Affected is the function Rack::Session of the component Session Cookie Handler. The manipulation with an unknown input leads to a race condition vulnerability. CWE is classifying the issue as CWE-362. The product contains a code sequence that can run concurrently with other code, and the code sequence requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence that is operating concurrently. This is going to have an impact on confidentiality, integrity, and availability. CVE summarizes:
Rack is a modular Ruby web server interface. Prior to version 2.2.14, when using the `Rack::Session::Pool` middleware, simultaneous rack requests can restore a deleted rack session, which allows the unauthenticated user to occupy that session. Rack session middleware prepares the session at the beginning of request, then saves is back to the store with possible changes applied by host rack application. This way the session becomes to be a subject of race conditions in general sense over concurrent rack requests. When using the `Rack::Session::Pool` middleware, and provided the attacker can acquire a session cookie (already a major issue), the session may be restored if the attacker can trigger a long running request (within that same session) adjacent to the user logging out, in order to retain illicit access even after a user has attempted to logout. Version 2.2.14 contains a patch for the issue. Some other mitigations are available. Either ensure the application invalidates sessions atomically by marking them as logged out e.g., using a `logged_out` flag, instead of deleting them, and check this flag on every request to prevent reuse; or implement a custom session store that tracks session invalidation timestamps and refuses to accept session data if the session was invalidated after the request began.
The advisory is shared for download at github.com. This vulnerability is traded as CVE-2025-32441 since 04/08/2025. The exploitability is told to be difficult. It is possible to launch the attack remotely. There are known technical details, but no exploit is available.
The vulnerability scanner Nessus provides a plugin with the ID 236870 (Ubuntu 14.04 LTS / 16.04 LTS / 18.04 LTS / 20.04 LTS / 22.04 LTS / 24.04 LTS / 24.10 / 25.04 : Rack vulnerabilities (USN-7507-1)), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 2.2.14 eliminates this vulnerability. Applying the patch c48e52f7c57e99e1e1bf54c8760d4f082cd1c89d is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the vulnerability database at Tenable (236870). VulDB is the best source for vulnerability data and more expert information about this specific topic.
Product
Name
Version
License
Website
- Product: https://github.com/rack/rack/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 4.6VulDB Meta Temp Score: 4.5
VulDB Base Score: 5.0
VulDB Temp Score: 4.8
VulDB Vector: 🔒
VulDB Reliability: 🔍
CNA Base Score: 4.2
CNA Vector (GitHub_M): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Race conditionCWE: CWE-362
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 236870
Nessus Name: Ubuntu 14.04 LTS / 16.04 LTS / 18.04 LTS / 20.04 LTS / 22.04 LTS / 24.04 LTS / 24.10 / 25.04 : Rack vulnerabilities (USN-7507-1)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Rack 2.2.14
Patch: c48e52f7c57e99e1e1bf54c8760d4f082cd1c89d
Timeline
04/08/2025 CVE reserved05/08/2025 Advisory disclosed
05/08/2025 VulDB entry created
05/17/2025 VulDB entry last update
Sources
Product: github.comAdvisory: GHSA-vpfw-47h7-xj4g
Status: Confirmed
CVE: CVE-2025-32441 (🔒)
GCVE (CVE): GCVE-0-2025-32441
GCVE (VulDB): GCVE-100-307968
Entry
Created: 05/08/2025 07:57Updated: 05/17/2025 12:00
Changes: 05/08/2025 07:57 (66), 05/17/2025 12:00 (2)
Complete: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
No comments yet. Languages: en.
Please log in to comment.