UBUNTU-CVE-2026-126071: Medium severity ubuntu/rails vulnerability

Published Nov 12, 2026
·
Updated

Active Storage makes it simple to upload and reference files in cloud services and attach those files to Active Record objects. From 8.0 until 8.0.5.2 and 8.1.4.1, when Active Storage serves a file through its proxy controllers, ActiveStorage::Streaming#sendblobstream handles an error from the storage service by calling head to send a 404 or 500 response. If the error occurs after the first chunk has been written, the response is already committed, and head replaces the response body while the server is still reading the original ActionController::Live buffer. That buffer is never closed, so the server thread handling the request blocks until the process restarts. Repeated failed downloads could exhaust the server's threads, possibly resulting in a DoS vulnerability. Applications are affected when they store files on a service that streams a download in several requests, such as Amazon S3, an S3-compatible service or Google Cloud Storage, and draw Active Storage's default routes. The proxy routes are drawn whether or not proxy mode is the default for the application. A file deleted while it is being served, or any other storage error partway through a download, triggers the condition. This issue is fixed in versions 8.1.4.1 and 8.0.5.2.

Affected Software

7 affected components
ubuntu/rails*
ubuntu/rails*
ubuntu/rails*
ubuntu/rails*
ubuntu/rails*
ubuntu/rails*
ubuntu/rails*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 8.0.5.2
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 8.1.4.1

Event History

Nov 12, 2026
CVE Published
via OSV·12:00 AM
Data Sourced
via OSV·12:00 AM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Which deployments are exposed to thread exhaustion?

Applications are affected when they use Active Storage with a storage service that streams downloads in multiple requests, including Amazon S3, S3-compatible services, or Google Cloud Storage, and have Active Storage’s default routes drawn.

2

Is an application safe if proxy mode is not its default?

No. The proxy routes are drawn whether or not proxy mode is the application default, so the condition can still be reachable when those routes are present.

3

What must occur for a request to block a server thread?

A storage-service error must occur after the first download chunk has been written. Examples include a file being deleted while it is served or another storage error occurring partway through the download; repeated failed downloads can exhaust available server threads.

4

What can be done if threads are already blocked?

The affected request-handling threads remain blocked until the process restarts. Restarting the process releases those blocked threads, but repeated triggering download failures can cause the condition again.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203