[Bug 1711573] Re: Invalid parsing of Forwarded header (RFC7239)
Corey Bryant
corey.bryant at canonical.com
Fri Sep 22 13:06:27 UTC 2017
Ubuntu SRU details:
[Description]
See bug description.
[Test Case]
See bug description.
[Regression Potential]
Low. This fix has landed upstream already in master, stable/pike, and stable/ocata branches. The fix is minimal and just strips whitespace.
** Also affects: python-oslo.middleware (Ubuntu)
Importance: Undecided
Status: New
** Also affects: python-oslo.middleware (Ubuntu Artful)
Importance: Undecided
Status: New
** Also affects: python-oslo.middleware (Ubuntu Zesty)
Importance: Undecided
Status: New
** Also affects: cloud-archive
Importance: Undecided
Status: New
** Also affects: cloud-archive/ocata
Importance: Undecided
Status: New
** Also affects: cloud-archive/pike
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to python-oslo.middleware in Ubuntu.
https://bugs.launchpad.net/bugs/1711573
Title:
Invalid parsing of Forwarded header (RFC7239)
Status in Ubuntu Cloud Archive:
New
Status in Ubuntu Cloud Archive ocata series:
New
Status in Ubuntu Cloud Archive pike series:
New
Status in oslo.middleware:
Fix Released
Status in python-oslo.middleware package in Ubuntu:
New
Status in python-oslo.middleware source package in Zesty:
New
Status in python-oslo.middleware source package in Artful:
New
Bug description:
>>> from oslo_middleware.http_proxy_to_wsgi import HTTPProxyToWSGI
>>> HTTPProxyToWSGI._parse_rfc7239_header("for=192.0.2.60;proto=http, for=192.0.2.60;by=203.0.113.43")
[{'for': '192.0.2.60', 'proto': 'http'}, {' for': '192.0.2.60', 'by': '203.0.113.43'}]
>>>
>>> HTTPProxyToWSGI._parse_rfc7239_header("for=192.0.2.60; proto=http, for=192.0.2.60; by=203.0.113.43")
[{' proto': 'http', 'for': '192.0.2.60'}, {' for': '192.0.2.60', ' by': '203.0.113.43'}]
According to some sources:
https://en.wikipedia.org/wiki/X-Forwarded-For#Alternatives_and_variations
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded
using space after semicolon in Forwarded header is valid, but
_parse_rfc7239_header does not parse it properly: note spaces in keys
in the dict above.
This affects e.g. Heat when using a proxy+SSL.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1711573/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list