Skip to main content

Rack EUVDEUVD-2026-19820

| CVE-2026-39324 CRITICAL
Improper Authentication (CWE-287)
2026-04-07 security-advisories@github.com GHSA-33qg-7wpp-89cq
9.3
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malformed session cookie
  2. Delivery
    Submit cookie to application
  3. Exploit
    Decryption fails, fallback decoder activates
  4. Execution
    Cookie accepted as valid session
  5. Persist
    Attacker manipulates session state
  6. Impact
    Gains unauthorized access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Rack::Session::Cookie versions 2.0.0 to before 2.1.2 configured with secrets parameter. Remote unauthenticated attacker supplies crafted session cookie. No victim interaction required. Default configurations using encrypted cookies are vulnerable.

Impact

This represents a critical authentication bypass with severe real-world risk despite absence of confirmed exploitation. The CVSS 4.0 vector shows maximum attack surface: network-accessible (AV:N), low complexity (AC:L), no prerequisites (AT:N), no authentication required (PR:N), and high impact across confidentiality, integrity, and availability (VC:H/VI:H/VA:H). EPSS data not provided, but the attack requires only the ability to send crafted cookies-no timing attacks, race conditions, or complex exploit chains. SSVC factors suggest high priority: the vulnerability is automatable (simple HTTP requests), has high technical impact (full session control), and affects a widely-deployed session management library in the Ruby ecosystem. The primary risk mitigation is narrow version range (2.0.0-2.1.1) and that exploitation requires the application to use secrets: configuration. However, this is a recommended security practice, meaning secure configurations are paradoxically vulnerable. The straightforward nature of the flaw and public disclosure create high exploitation probability once details are understood by attackers.

Exploit ScenarioDerived

An attacker identifies a Ruby web application using Rack::Session::Cookie 2.0.x-2.1.1 with encrypted sessions by observing session cookie characteristics or framework fingerprinting. The attacker crafts a malicious session cookie with arbitrary session data (for example, setting user_id to an administrator account ID or privilege flags) encoded in a format matching the default decoder's expectations, deliberately omitting valid encryption. When the application attempts to decrypt this cookie, decryption fails but triggers the fallback to the unauthenticated decoder, loading the attacker's crafted session state. The attacker is now authenticated as the target user or with elevated privileges, enabling account takeover, data exfiltration, or administrative actions without ever possessing valid credentials or encryption secrets. No public exploit code identified at time of analysis, but the attack requires only HTTP client capabilities to send modified cookies.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 07, 2026

Session authentication bypass in Rack::Session::Cookie 2.0.0 through 2.1.1 allows unauthenticated remote attackers to forge valid session cookies and gain unauthorized access. When configured with secrets, the implementation incorrectly falls back to a default decoder on decryption failures rather than rejecting malformed cookies, enabling attackers to manipulate session state without any secret knowledge. CVSS 9.3 (Critical) with network attack vector, low complexity, and no privileges required. No public exploit or active exploitation (CISA KEV) identified at time of analysis, though the simplicity of the attack vector (AC:L, PR:N) suggests exploitation is straightforward once the vulnerability is understood.

RemediationAI

Vendor-released patch: Upgrade rack-session to version 2.1.2 or later, which removes the insecure fallback decoder and properly rejects session cookies that fail decryption validation. The fix is available immediately and should be prioritized for all production deployments. Update the rack-session gem dependency in your Gemfile or gemspec to ~> 2.1.2 or >= 2.1.2, then run bundle update rack-session. After upgrading, verify the new version is installed with bundle list | grep rack-session. No configuration changes are required beyond the version upgrade. For applications unable to upgrade immediately, consider temporary mitigation by rotating session secrets and implementing additional request validation, though these workarounds do not fully address the vulnerability. Detailed information is available in the GitHub Security Advisory at https://github.com/rack/rack-session/security/advisories/GHSA-33qg-7wpp-89cq. Review application logs for suspicious session activity following remediation.

Affected VersionsENISA

rack-session 2.0.0, < 2.1.2

Affected Packages

rubygems rack-session fix: 2.1.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in rubygems

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Rack::Session::Cookie is a cookie-based session storage implementation in the Rack web server interface framework used by Ruby applications including Rails and Sinatra. This vulnerability stems from improper authentication (CWE-287) in the cookie decryption logic. When the session middleware is configured with encryption secrets, legitimate session cookies should be encrypted and authenticated. The flawed implementation in versions 2.0.0-2.1.1 includes a fallback mechanism that activates when encrypted cookie decryption fails-instead of rejecting the invalid cookie, it attempts to decode it using an unauthenticated default decoder. This fallback path bypasses the cryptographic protection entirely, treating attacker-controlled data as valid session state. The vulnerability affects any Ruby web application using Rack::Session::Cookie with secrets: configuration for encrypted session storage.

Know when Rack 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

Vendor (github) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Red Hat 10.0 CRITICAL

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch released
Apr 08, 2026 - 02:30 nvd
Patch available
CVE Published
Apr 07, 2026 - 18:16 nvd
CRITICAL 9.3

DescriptionCVE.org

Rack::Session is a session management implementation for Rack. From 2.0.0 to before 2.1.2, Rack::Session::Cookie incorrectly handles decryption failures when configured with secrets:. If cookie decryption fails, the implementation falls back to a default decoder instead of rejecting the cookie. This allows an unauthenticated attacker to supply a crafted session cookie that is accepted as valid session data without knowledge of any configured secret. Because this mechanism is used to load session state, an attacker can manipulate session contents and potentially gain unauthorized access. This vulnerability is fixed in 2.1.2.

Executive ViewAI

Why It Matters

Rack::Session::Cookie versions 2.0.0 through 2.1.1 contain a critical session authentication bypass that allows unauthenticated attackers to forge valid session cookies and impersonate users. Any Rails or Rack-based application using affected versions is immediately vulnerable to account takeover and unauthorized data access without requiring authentication credentials or exploit code.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Immediately upgrade to Rack::Session::Cookie version 2.2.0 or later if available, or revert to version 1.x if feasible; (2) Disable cookie-based session storage entirely and migrate to server-side session storage (e.g., Redis, Memcached) with secure token generation; (3) Implement strict Content Security Policy and HttpOnly/Secure cookie flags; (4) Deploy Web Application Firewall rules to detect malformed or suspiciously-formed session cookies; (5) Force immediate re-authentication for all users and revoke all existing sessions; (6) Monitor session activity logs for indicators of unauthorized access; (7) Restrict application network exposure until patch is applied.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Rack

View all
CVE-2026-22860 HIGH POC
7.5 Feb 18

Directory traversal in Rack versions prior to 2.2.22, 3.1.20, and 3.2.5 allows unauthenticated remote attackers to list

CVE-2024-26141 HIGH POC
7.5 Feb 29

Rack is a modular Ruby web server interface. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable,

CVE-2024-25126 HIGH POC
7.5 Feb 29

Rack is a modular Ruby web server interface. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable,

CVE-2020-8184 HIGH POC
7.5 Jun 19

A reliance on cookies without validation/integrity check security vulnerability exists in rack < 2.2.3, rack < 2.1.4 tha

CVE-2022-30123 CRITICAL
10.0 Dec 05

A sequence injection vulnerability exists in Rack <2.0.9.1, <2.1.4.1 and <2.2.3.1 which could allow is a possible shell

CVE-2025-25184 MEDIUM POC
5.7 Feb 12

Rack provides an interface for developing web applications in Ruby. Rated medium severity (CVSS 5.7), this vulnerability

CVE-2026-25500 MEDIUM POC
5.4 Feb 18

Rack's Directory module fails to sanitize filenames when generating HTML directory listings, allowing attackers to craft

CVE-2020-8161 HIGH
8.6 Jul 02

A directory traversal vulnerability exists in rack < 2.2.0 that allows an attacker perform directory traversal vulnerabi

CVE-2013-0263 MEDIUM
5.1 Feb 08

Rack::Session::Cookie in Rack 1.5.x before 1.5.2, 1.4.x before 1.4.5, 1.3.x before 1.3.10, 1.2.x before 1.2.8, and 1.1.x

CVE-2023-27530 HIGH
7.5 Mar 10

A DoS vulnerability exists in Rack <v3.0.4.2, <v2.2.6.3, <v2.1.4.3 and <v2.0.9.3 within in the Multipart MIME parsing co

CVE-2025-61772 HIGH
7.5 Oct 07

Memory exhaustion denial of service in the Ruby Rack web server interface (versions prior to 2.2.19, 3.1.17, and 3.2.2)

CVE-2025-61770 HIGH
7.5 Oct 07

Memory exhaustion in Rack's multipart/form-data parser allows unauthenticated remote attackers to crash or severely degr

Vendor StatusVendor

SUSE

Severity: Critical
Product Status
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 16.1 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed
SUSE Linux Enterprise Module for Public Cloud 15 SP7 Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy