Action Pack is a framework for handling and responding to web requests. Prior to 8.1.4.1 and 8.0.5.2, ActionController::Live::Buffer#close pushes its end-of-stream marker onto the response's bounded queue while it holds the buffer's monitor. When the client has stopped reading and the queue is full, the push blocks, and Buffer#abort, which runs when the client disconnects or a write times out, waits indefinitely for the same monitor. Each such response could permanently hold a web server thread and its ActionController::Live thread, possibly resulting in a DoS vulnerability through thread exhaustion. Applications that stream responses with ActionController::Live, including send_stream, are affected. Applications that serve large files through Active Storage proxy mode are exposed to unauthenticated clients. This issue is fixed in versions 8.1.4.1 and 8.0.5.2.
{
"binaries": [
{
"binary_name": "rails",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-actioncable",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-actionmailbox",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-actionmailer",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-actionpack",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-actiontext",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-actionview",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-activejob",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-activemodel",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-activerecord",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-activestorage",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-activesupport",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-rails",
"binary_version": "2:6.1.7.3+dfsg-3"
},
{
"binary_name": "ruby-railties",
"binary_version": "2:6.1.7.3+dfsg-3"
}
]
}{
"binaries": [
{
"binary_name": "rails",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-actioncable",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-actionmailbox",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-actionmailer",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-actionpack",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-actiontext",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-actionview",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-activejob",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-activemodel",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-activerecord",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-activestorage",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-activesupport",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-rails",
"binary_version": "2:7.2.3+dfsg-2"
},
{
"binary_name": "ruby-railties",
"binary_version": "2:7.2.3+dfsg-2"
}
]
}{
"binaries": [
{
"binary_name": "rails",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-actioncable",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-actionmailbox",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-actionmailer",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-actionpack",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-actiontext",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-actionview",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-activejob",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-activemodel",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-activerecord",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-activestorage",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-activesupport",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-rails",
"binary_version": "2:7.2.3.2+dfsg-2"
},
{
"binary_name": "ruby-railties",
"binary_version": "2:7.2.3.2+dfsg-2"
}
]
}{
"binaries": [
{
"binary_name": "rails",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-actionmailer",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-actionpack",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-actionview",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-activejob",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-activemodel",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-activerecord",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-activesupport",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-rails",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
},
{
"binary_name": "ruby-railties",
"binary_version": "2:4.2.6-1ubuntu0.1~esm2"
}
]
}{
"binaries": [
{
"binary_name": "rails",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-actionmailer",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-actionpack",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-actionview",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-activejob",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-activemodel",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-activerecord",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-activesupport",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-rails",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
},
{
"binary_name": "ruby-railties",
"binary_version": "2:4.2.10-0ubuntu4+esm2"
}
]
}{
"binaries": [
{
"binary_name": "rails",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-actioncable",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-actionmailer",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-actionpack",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-actionview",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-activejob",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-activemodel",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-activerecord",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-activestorage",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-activesupport",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-rails",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "ruby-railties",
"binary_version": "2:5.2.3+dfsg-3ubuntu0.1~esm1"
}
]
}{
"binaries": [
{
"binary_name": "rails",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-actioncable",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-actionmailbox",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-actionmailer",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-actionpack",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-actiontext",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-actionview",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-activejob",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-activemodel",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-activerecord",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-activestorage",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-activesupport",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-rails",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
},
{
"binary_name": "ruby-railties",
"binary_version": "2:6.1.4.1+dfsg-8ubuntu2+esm1"
}
]
}