This project provides both a CLI and a webapp, which generate a playlist of 10 Bible Chapters (represented by 10 mp3 files) to be listened to on any given day, according to Professor Grant Horner's 10 lists Bible-Reading System.
Gunicorn fails to properly validate Transfer-Encoding headers, leading to HTTP Request Smuggling (HRS) vulnerabilities. By crafting requests with conflicting Transfer-Encoding headers, attackers can bypass security restrictions and access restricted endpoints. This issue is due to Gunicorn's handling of Transfer-Encoding headers, where it incorrectly processes requests with multiple, conflicting Transfer-Encoding headers, treating them as chunked regardless of the final encoding specified. This vulnerability has been shown to allow access to endpoints restricted by gunicorn. This issue has been addressed in version 22.0.0.
To be affected users must have a network path which does not filter out invalid requests. These users are advised to block access to restricted endpoints via a firewall or other mechanism if they are unable to update.
Release Notes
benoitc/gunicorn (gunicorn)
### [`v22.0.0`](https://togithub.com/benoitc/gunicorn/releases/tag/22.0.0): Gunicorn 22.0 has been released
[Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.2.0...22.0.0)
**Gunicorn 22.0.0 has been released.** This version fix the numerous security vulnerabilities. You're invited to upgrade asap your own installation.
Changes:
22.0.0 - 2024-04-17
===================
- use `utime` to notify workers liveness
- migrate setup to pyproject.toml
- fix numerous security vulnerabilities in HTTP parser (closing some request smuggling vectors)
- parsing additional requests is no longer attempted past unsupported request framing
- on HTTP versions < 1.1 support for chunked transfer is refused (only used in exploits)
- requests conflicting configured or passed SCRIPT_NAME now produce a verbose error
- Trailer fields are no longer inspected for headers indicating secure scheme
- support Python 3.12
** Breaking changes **
- minimum version is Python 3.7
- the limitations on valid characters in the HTTP method have been bounded to Internet Standards
- requests specifying unsupported transfer coding (order) are refused by default (rare)
- HTTP methods are no longer casefolded by default (IANA method registry contains none affected)
- HTTP methods containing the number sign (#) are no longer accepted by default (rare)
- HTTP versions < 1.0 or >= 2.0 are no longer accepted by default (rare, only HTTP/1.1 is supported)
- HTTP versions consisting of multiple digits or containing a prefix/suffix are no longer accepted
- HTTP header field names Gunicorn cannot safely map to variables are silently dropped, as in other software
- HTTP headers with empty field name are refused by default (no legitimate use cases, used in exploits)
- requests with both Transfer-Encoding and Content-Length are refused by default (such a message might indicate an attempt to perform request smuggling)
- empty transfer codings are no longer permitted (reportedly seen with really old & broken proxies)
** SECURITY **
- fix CVE-2024-1135
1. Documentation is available there: https://docs.gunicorn.org/en/stable/news.html
2. Packages: https://pypi.org/project/gunicorn/
### [`v21.2.0`](https://togithub.com/benoitc/gunicorn/releases/tag/21.2.0): Gunicorn 21.2.0 has been released
[Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.1.0...21.2.0)
**Gunicorn 21.2.0 has been released.** This version fix the issue introduced in the threaded worker.
Changes:
21.2.0 - 2023-07-19
===================
fix thread worker: revert change considering connection as idle .
*** NOTE ***
This is fixing the bad file description error.
1. Documentation is available there: https://docs.gunicorn.org/en/stable/news.html
2. Packages: https://pypi.org/project/gunicorn/
### [`v21.1.0`](https://togithub.com/benoitc/gunicorn/releases/tag/21.1.0): Gunicorn 21.1.0 has been released
[Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.0.1...21.1.0)
gunicorn 21.1.0 has been released. This version fix the issue introduced in the threaded worker.
# 21.1.0 - 2023-07-18
- fix thread worker: fix socket removal from the queuet checkout 21.x
### [`v21.0.1`](https://togithub.com/benoitc/gunicorn/releases/tag/21.0.1): Gunicorn 21 has been released
[Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.0.0...21.0.1)
Gunicorn 21 is out with miscellaneous changes. Enjoy!
We made this release major to start our new release cycle. More info will be provided on our discussion forum.
##### 21.0.1 - 2023-07-17
fix documentation build
##### 21.0.0 - 2023-07-17
support python 3.11
fix gevent and eventlet workers
fix threads support (gththread): improve performance and unblock requests
SSL: noaw use SSLContext object
HTTP parser: miscellaneous fixes
remove unecessary setuid calls
fix testing
improve logging
miscellaneous fixes to core engine
**Full Changelog**: https://github.com/benoitc/gunicorn/compare/21.0.0...21.0.1
### [`v21.0.0`](https://togithub.com/benoitc/gunicorn/compare/20.1.0...21.0.0)
[Compare Source](https://togithub.com/benoitc/gunicorn/compare/20.1.0...21.0.0)
Configuration
π Schedule: Branch creation - "" in timezone Africa/Lusaka, Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
==20.1.0
->==22.0.0
GitHub Vulnerability Alerts
CVE-2024-1135
Gunicorn fails to properly validate Transfer-Encoding headers, leading to HTTP Request Smuggling (HRS) vulnerabilities. By crafting requests with conflicting Transfer-Encoding headers, attackers can bypass security restrictions and access restricted endpoints. This issue is due to Gunicorn's handling of Transfer-Encoding headers, where it incorrectly processes requests with multiple, conflicting Transfer-Encoding headers, treating them as chunked regardless of the final encoding specified. This vulnerability has been shown to allow access to endpoints restricted by gunicorn. This issue has been addressed in version 22.0.0.
To be affected users must have a network path which does not filter out invalid requests. These users are advised to block access to restricted endpoints via a firewall or other mechanism if they are unable to update.
Release Notes
benoitc/gunicorn (gunicorn)
### [`v22.0.0`](https://togithub.com/benoitc/gunicorn/releases/tag/22.0.0): Gunicorn 22.0 has been released [Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.2.0...22.0.0) **Gunicorn 22.0.0 has been released.** This version fix the numerous security vulnerabilities. You're invited to upgrade asap your own installation. Changes: 22.0.0 - 2024-04-17 =================== - use `utime` to notify workers liveness - migrate setup to pyproject.toml - fix numerous security vulnerabilities in HTTP parser (closing some request smuggling vectors) - parsing additional requests is no longer attempted past unsupported request framing - on HTTP versions < 1.1 support for chunked transfer is refused (only used in exploits) - requests conflicting configured or passed SCRIPT_NAME now produce a verbose error - Trailer fields are no longer inspected for headers indicating secure scheme - support Python 3.12 ** Breaking changes ** - minimum version is Python 3.7 - the limitations on valid characters in the HTTP method have been bounded to Internet Standards - requests specifying unsupported transfer coding (order) are refused by default (rare) - HTTP methods are no longer casefolded by default (IANA method registry contains none affected) - HTTP methods containing the number sign (#) are no longer accepted by default (rare) - HTTP versions < 1.0 or >= 2.0 are no longer accepted by default (rare, only HTTP/1.1 is supported) - HTTP versions consisting of multiple digits or containing a prefix/suffix are no longer accepted - HTTP header field names Gunicorn cannot safely map to variables are silently dropped, as in other software - HTTP headers with empty field name are refused by default (no legitimate use cases, used in exploits) - requests with both Transfer-Encoding and Content-Length are refused by default (such a message might indicate an attempt to perform request smuggling) - empty transfer codings are no longer permitted (reportedly seen with really old & broken proxies) ** SECURITY ** - fix CVE-2024-1135 1. Documentation is available there: https://docs.gunicorn.org/en/stable/news.html 2. Packages: https://pypi.org/project/gunicorn/ ### [`v21.2.0`](https://togithub.com/benoitc/gunicorn/releases/tag/21.2.0): Gunicorn 21.2.0 has been released [Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.1.0...21.2.0) **Gunicorn 21.2.0 has been released.** This version fix the issue introduced in the threaded worker. Changes: 21.2.0 - 2023-07-19 =================== fix thread worker: revert change considering connection as idle . *** NOTE *** This is fixing the bad file description error. 1. Documentation is available there: https://docs.gunicorn.org/en/stable/news.html 2. Packages: https://pypi.org/project/gunicorn/ ### [`v21.1.0`](https://togithub.com/benoitc/gunicorn/releases/tag/21.1.0): Gunicorn 21.1.0 has been released [Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.0.1...21.1.0) gunicorn 21.1.0 has been released. This version fix the issue introduced in the threaded worker. # 21.1.0 - 2023-07-18 - fix thread worker: fix socket removal from the queuet checkout 21.x ### [`v21.0.1`](https://togithub.com/benoitc/gunicorn/releases/tag/21.0.1): Gunicorn 21 has been released [Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.0.0...21.0.1) Gunicorn 21 is out with miscellaneous changes. Enjoy! We made this release major to start our new release cycle. More info will be provided on our discussion forum. ##### 21.0.1 - 2023-07-17 fix documentation build ##### 21.0.0 - 2023-07-17 support python 3.11 fix gevent and eventlet workers fix threads support (gththread): improve performance and unblock requests SSL: noaw use SSLContext object HTTP parser: miscellaneous fixes remove unecessary setuid calls fix testing improve logging miscellaneous fixes to core engine **Full Changelog**: https://github.com/benoitc/gunicorn/compare/21.0.0...21.0.1 ### [`v21.0.0`](https://togithub.com/benoitc/gunicorn/compare/20.1.0...21.0.0) [Compare Source](https://togithub.com/benoitc/gunicorn/compare/20.1.0...21.0.0)Configuration
π Schedule: Branch creation - "" in timezone Africa/Lusaka, Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.