UBUNTU-CVE-2026-126077: Medium severity ubuntu/rails vulnerability
Action Pack is a framework for handling and responding to web requests. Prior to 8.1.4.1 and 8.0.5.2, When ActionDispatch::Cookies reads a signed or encrypted cookie that was written under a rotated secret (config.actiondispatch.cookiesrotations) or in the format that a :hybrid cookie serializer migrates from, it writes the cookie back to the response in the current format, and that write ignores request.sessionoptions[:skip]. ActiveStorage::DisableSession relies on that option to keep the session cookie off the public, immutable responses of the Active Storage proxy controllers, but those controllers still load the session, so a request carrying an old-format session cookie could receive the rewritten session cookie in Set-Cookie on a cacheable response. A shared cache that stores such a response together with its Set-Cookie header could then serve one user's session to later requesters of the same URL, or serve an attacker's session to other users. Applications are affected when they serve Active Storage files through the proxy controllers, have a cookie rotation or a :hybrid serializer migration configured, and run behind a cache that stores Set-Cookie on public responses. This is a path around the fix for CVE-2024-26144. This issue is fixed in versions 8.1.4.1 and 8.0.5.2.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Action Packto a version that resolves this vulnerability.Fixed in 8.1.4.1 - Upgrade
Upgrade
Action Packto a version that resolves this vulnerability.Fixed in 8.0.5.2
Event History
Frequently Asked Questions
Which deployments are affected?
Applications are affected when they serve Active Storage files through proxy controllers, have cookie rotation configured or are migrating with a :hybrid cookie serializer, and use a cache that stores Set-Cookie headers on public responses.
What is required to trigger the issue?
The request must carry a session cookie written under a rotated secret or in the older format handled by a :hybrid serializer migration. The Active Storage proxy controller loads that session and may rewrite the cookie into the response despite the session-skip setting.
How can I determine whether my application is exposed?
Check whether Active Storage proxy controllers are used, whether config.action_dispatch.cookies_rotations or a :hybrid cookie serializer migration is configured, and whether the cache retains Set-Cookie headers for public immutable responses. Exposure requires all of these conditions.
Which Rails releases contain the fix?
The issue is addressed in Rails 8.1.4.1 and 8.0.5.2. Releases prior to those versions are affected when the required configuration and caching conditions are present.