Bug 1515245 (CVE-2016-10517) - CVE-2016-10517 redis: cross-protocol attack using malicious HTTP request
Summary: CVE-2016-10517 redis: cross-protocol attack using malicious HTTP request
Keywords:
Status: CLOSED WONTFIX
Alias: CVE-2016-10517
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1515246
TreeView+ depends on / blocked
 
Reported: 2017-11-20 12:37 UTC by Andrej Nemec
Modified: 2021-02-17 01:14 UTC (History)
32 users (show)

Fixed In Version: redis 3.2.7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-19 22:53:30 UTC
Embargoed:


Attachments (Terms of Use)

Description Andrej Nemec 2017-11-20 12:37:28 UTC
networking.c in Redis before 3.2.7 allows "Cross Protocol Scripting" because it lacks a check for POST and Host: strings, which are not valid in the Redis protocol (but commonly occur when an attack triggers an HTTP request to the Redis TCP port).

Upstream patch:

https://github.com/antirez/redis/commit/874804da0c014a7d704b3d285aa500098a931f50

References:

https://github.com/antirez/redis/blob/3.2.7/00-RELEASENOTES

Comment 1 Joshua Padman 2017-11-22 02:07:14 UTC
OSP11 is shipping 3.2.8 which contains the fix, validated against source package.

Comment 2 Jason Shepherd 2017-11-22 05:03:12 UTC
Cross Protocol Scripting attacks, as described below, rely on a proxy, such as a web browser, to relay request to the target (Redis). In addition to a proxy some way of relaying to the response to the attacker is also required. 

http://bouk.co/blog/hacking-developers/

I don't see how either of these 2 requirements could be met in an environment where Redis is running as a service in Openshift. Since RHMAP deploys Redis in this way, I'm marking RHMAP as unaffected.

Comment 3 Joshua Padman 2017-11-23 00:47:22 UTC
Cross protocol scripting requires a vulnerable machine with access to proxy requests, to receive the response a further attack, such as DNS rebind is required. The way that redis is used within OpenStack means that it is not being used by developers or user machines. It is used in the backend primarily, through the management network, for token caching etc.

To exploit redis in its configuration inside OpenStack, using this vector, would be very very unlikely, especially within a properly designed network.

Comment 8 Tomas Hoger 2017-12-19 22:45:52 UTC
Mitigation:

This issue can be mitigated by configuring Redis to require clients to authenticate with password. Password authentication can be enabled using the 'requirepass' directive in the redis.conf configuration file.


Note You need to log in before you can comment on or make changes to this bug.