joatu-v2
joatu-v2 copied to clipboard
[Security] Bump puma from 3.12.6 to 4.3.8
Bumps puma from 3.12.6 to 4.3.8. This update includes a security fix.
Vulnerabilities fixed
Sourced from The GitHub Security Advisory Database.
Keepalive Connections Causing Denial Of Service in puma This vulnerability is related to CVE-2019-16770.
Impact
The fix for CVE-2019-16770 was incomplete. The original fix only protected existing connections that had already been accepted from having their requests starved by greedy persistent-connections saturating all threads in the same process. However, new connections may still be starved by greedy persistent-connections saturating all threads in all processes in the cluster.
A
puma
server which received more concurrentkeep-alive
connections than the server had threads in its threadpool would service only a subset of connections, denying service to the unserved connections.Patches
This problem has been fixed in
puma
4.3.8 and 5.3.1.Workarounds
Setting
queue_requests false
also fixes the issue. This is not advised when usingpuma
without a reverse proxy, such asnginx
orapache
, because you will open yourself to slow client attacks (e.g. slowloris).The fix is very small. A git patch is available here for those using unsupported versions of Puma.
For more information
... (truncated)
Affected versions: <= 4.3.7
Release notes
Sourced from puma's releases.
v4.3.8
- Security
- Close keepalive connections after the maximum number of fast inlined requests (#2625)
v4.3.6
https://github.com/puma/puma/compare/v4.3.5...4.3.6
A quick fix for a build error on Mac OS and a JSON require fix for those using phased restart.
- Explicitly include ctype.h to fix compilation warning and build error on macOS with Xcode 12 (#2304)
- Don't require json at boot (#2269)
v4.3.0 - Mysterious Traveller
Features
Bugfixes
4.2.1
- 3 bugfixes
4.2.0 - Distant Airhorns
- 6 features
- Pumactl has a new -e environment option and reads config/puma/.rb config files (#1885)
- Semicolons are now allowed in URL paths (MRI only), useful for Angular or Redmine (#1934)
- Allow extra dependencies to be defined when using prune_bundler (#1105)
- Puma now reports the correct port when binding to port 0, also reports other listeners when binding to localhost (#1786)
- Sending SIGINFO to any Puma worker now prints currently active threads and their backtraces (#1320)
- Puma threads all now have their name set on Ruby 2.3+ (#1968)
- 4 bugfixes
- Absolutely thousands of lines of test improvements and fixes thanks to
@MSP-Greg
... (truncated)
Changelog
Sourced from puma's changelog.
4.3.8 / 2021-05-11
- Security
- Close keepalive connections after the maximum number of fast inlined requests (#2625)
4.3.7 / 2020-11-30
4.3.6 / 2020-09-05
Commits
b911c13
4.3.8 release note09bb777
Bump version constant8088950
Close keepalive connections after MAX_FAST_INLINE requestsf3c95af
4.3.777a90ec
Backport set CONTENT_LENGTH for chunked requests (#2496)a418e5c
Updates to 4.3.6 to pass CI, adds Ubuntu 20.04 [changelog skip] (#2380)3e3647a
v4.3.673cfdf5
Merge pull request #2314 from venables/fix-includefa54f4d
Merge pull request #2269 from MSP-Greg/json-requirea24b51b
Bump version- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) -
@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language -
@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language -
@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language -
@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language -
@dependabot badge me
will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)