/srv/irclogs.ubuntu.com/2021/09/28/#ubuntu-security.txt

fricklerthere's a regression in the latest apache2 updates at least for focal and impish. a request for e.g. /path/xyz gets passed to an uwsgi backend as /pat//xyz04:32
frickleror to be more precise, I get SCRIPT_NAME="/pat" instead of "/path" and PATH_INFO="//abc" instead of "/abc"05:02
fricklerI hope this is enough to reproduce https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/194527405:13
ubottuLaunchpad bug 1945274 in apache2 (Ubuntu) "security updates are breaking mod_wsgi apps" [Undecided, New]05:13
sbeattiefrickler: thanks.05:20
fricklerso the culprit seems to be CVE-2021-36160.patch , if I build the focal version without that patch, the issue is resolved05:31
ubottuA carefully crafted request uri-path can cause mod_proxy_uwsgi to read above the allocated memory and crash (DoS). This issue affects Apache HTTP Server versions 2.4.30 to 2.4.48 (inclusive). <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-36160>05:31
sbeattieyeah, that was the likely candidate.05:45
fricklerso ... we are using this ProxyPass statement: ProxyPass "/placement" "unix:/var/run/uwsgi/placement-api.socket|uwsgi://uwsgi-uds-placement-api/" retry=006:09
fricklerif I remove the trailing / in the uwsgi:// path, things get back to work. not sure if that's actually a bug in our deployment that was just uncovered by the CVE fix06:10
fricklerit also only affects some apps, not everything06:10
amurraysince there is no trailing / on "/placement" then I don't think there should be one on the uwsgi:// URI either06:18
amurraysee https://httpd.apache.org/docs/trunk/mod/mod_proxy.html#proxypass -  "If the first argument ends with a trailing /, the second argument should also end with a trailing /, and vice versa. Otherwise, the resulting requests to the backend may miss some needed slashes and do not deliver the expected results."06:21
=== cpaelzer_ is now known as cpaelzer
=== cpaelzer_ is now known as cpaelzer

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!