Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Apr 17, 2024

This PR contains the following updates:

Package Change Age Confidence
gunicorn (changelog) ==21.2.0==22.0.0 age confidence

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.

CVE-2024-6827

Gunicorn version 21.2.0 does not properly validate the value of the 'Transfer-Encoding' header as specified in the RFC standards, which leads to the default fallback method of 'Content-Length,' making it vulnerable to TE.CL request smuggling. This vulnerability can lead to cache poisoning, data exposure, session manipulation, SSRF, XSS, DoS, data integrity compromise, security bypass, information leakage, and business logic abuse.


Release Notes

benoitc/gunicorn (gunicorn)

v22.0.0: Gunicorn 22.0 has been released

Compare Source

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/

Configuration

📅 Schedule: Branch creation - "" in timezone Europe/Oslo, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added area/security Issue or PR related to security priority/critical Issue or PR categorized as being critical/urgent to solve type/dependencies Issue or PR related to dependencies labels Apr 17, 2024
@renovate renovate bot force-pushed the renovate/pypi-gunicorn-vulnerability branch 4 times, most recently from 1db8275 to 55f6f27 Compare November 15, 2024 01:09
@renovate renovate bot changed the title chore(deps): update dependency gunicorn to v22 [security] chore(deps): update dependency gunicorn to v23 [security] Mar 22, 2025
@renovate renovate bot force-pushed the renovate/pypi-gunicorn-vulnerability branch from 55f6f27 to eff18bb Compare March 22, 2025 06:10
@renovate renovate bot force-pushed the renovate/pypi-gunicorn-vulnerability branch from eff18bb to dc83256 Compare September 11, 2025 14:27
@renovate renovate bot changed the title chore(deps): update dependency gunicorn to v23 [security] chore(deps): update dependency gunicorn to v22 [security] Sep 29, 2025
@renovate renovate bot force-pushed the renovate/pypi-gunicorn-vulnerability branch from dc83256 to 2d7b377 Compare September 29, 2025 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/security Issue or PR related to security priority/critical Issue or PR categorized as being critical/urgent to solve type/dependencies Issue or PR related to dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant