Skip to content

Conversation

@digitalresistor
Copy link
Member

This fixes a small bug where the value of the header would get stripped when inserted into the environ so it no longer matched.

Closes #432

@digitalresistor digitalresistor merged commit 8565e0d into main Feb 5, 2024
@digitalresistor digitalresistor deleted the bugfix/dont-strip-value-wsgi-environ branch February 5, 2024 05:02
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Feb 5, 2025
3.0.2 (2024-11-16)

Security

- When using Waitress to process trusted proxy headers, Waitress will now
  update the headers to drop any untrusted values, thereby making sure that
  WSGI apps only get trusted and validated values that Waitress itself used to
  update the environ. See Pylons/waitress#452 and
  Pylons/waitress#451


3.0.1 (2024-10-28)

Backward Incompatibilities

- Python 3.8 is no longer supported.
  See Pylons/waitress#445.

Features

- Added support for Python 3.13.
  See Pylons/waitress#445.

Security

- Fix a bug that would lead to Waitress busy looping on select() on a half-open
  socket due to a race condition that existed when creating a new HTTPChannel.
  See Pylons/waitress#435,
  Pylons/waitress#418 and
  GHSA-3f84-rpwh-47g6

  With thanks to Dylan Jay and Dieter Maurer for their extensive debugging and
  helping track this down.

- No longer strip the header values before passing them to the WSGI environ.
  See Pylons/waitress#434 and
  Pylons/waitress#432

- Fix a race condition in Waitress when `channel_request_lookahead` is enabled
  that could lead to HTTP request smuggling.
arnout pushed a commit to buildroot/buildroot that referenced this pull request Feb 7, 2025
Both 3.0.1 and 3.0.2 fix security issues.

In 3.0.1:

* Fix a bug that would lead to Waitress busy looping on select() on a
  half-open socket due to a race condition that existed when creating a
  new HTTPChannel. See Pylons/waitress#435,
  Pylons/waitress#418 and
  GHSA-3f84-rpwh-47g6

* With thanks to Dylan Jay and Dieter Maurer for their extensive
  debugging and helping track this down.

* No longer strip the header values before passing them to the WSGI
  environ. See Pylons/waitress#434 and
  Pylons/waitress#432

* Fix a race condition in Waitress when channel_request_lookahead is
  enabled that could lead to HTTP request smuggling.
  See GHSA-9298-4cf8-g4wj

In 3.0.2:

* When using Waitress to process trusted proxy headers, Waitress will
  now update the headers to drop any untrusted values, thereby making sure
  that WSGI apps only get trusted and validated values that Waitress
  itself used to update the environ. See
  Pylons/waitress#452 and
  Pylons/waitress#451

Full Changelog:
https://docs.pylonsproject.org/projects/waitress/en/latest/#change-history

Signed-off-by: Marcus Hoffmann <[email protected]>
Signed-off-by: Peter Korsgaard <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

\xa0 and \x85 are stripped from the ends of header values

2 participants