Non-ASCII query params can cause 503s
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Seen in the stable checks recently:
proxy ERROR: ERROR with Container server 127.0.0.
Traceback (most recent call last):
File ".../swift/
query_
File ".../swift/
ipaddr, port, method, path, headers, query_string, ssl)
File ".../swift/
conn.
File ".../swift/
skip_
File "/usr/lib/
% (url, match.group()))
InvalidURL: URL can't contain control characters. '/sdb1/
Apparently recent versions of py27 (those after https:/
More recent versions of Swift would not exhibit this particular failure, as the listing_formats middleware would force a decoding/
Swift on py3 should not exhibit this behavior, as we so thoroughly re-write the request line to avoid hitting https:/
Impact on a cluster should be pretty low; the error's tripped before we make any backend requests. My main concern would be that this could be used to try to probe what version of python the proxy is running.
Fix proposed to branch: stable/pike /review. opendev. org/681879
Review: https:/