Re: [issue42967] Web cache poisoning - `;` as a query args separator

2021-01-20 Thread M.-A. Lemburg
On 20.01.2021 12:07, STINNER Victor wrote: > Maybe we should even go further in Python 3.10 and only split at "&" by > default, but let the caller to opt-in for ";" separator as well. +1. Personally, I've never seen URLs encoded with ";" as query parameter separator in practice on the server sid

[issue42967] Web cache poisoning - `;` as a query args separator

2021-01-20 Thread STINNER Victor
STINNER Victor added the comment: Oops, I missed this issue. I just marked my bpo-42975 issue as a duplicate of this one. My message: urllib.parse.parse_qsl() uses "&" *and* ";" as separators: >>> urllib.parse.parse_qsl("a=1&b=2&c=3") [('a', '1'), ('b', '2'), ('c', '3')] >>> urllib.parse.pa

[issue42967] Web cache poisoning - `;` as a query args separator

2021-01-19 Thread Adam Goldschmidt
New submission from Adam Goldschmidt : The urlparse module treats semicolon as a separator (https://github.com/python/cpython/blob/master/Lib/urllib/parse.py#L739) - whereas most proxies today only take ampersands as separators. Link to a blog post explaining this vulnerability: https://snyk.