You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The server-client communication protocol relies on spaces to delimit the arguments of requests and newlines to delimit the requests, which are sent over TCP connections. Because neither validation is made on the characters of the command arguments (keys and values) nor are the meta-characters escaped (newlines and spaces), by providing specially crafted input users of vard.py are able to: 1) crash the server; 2) inject commands that are executed by the servers and cause subsequent requests to return wrong results.
To reproduce the bug it suffices to create a client application that issues the following vard.py library calls:
Crash server: GET("key1 - - \n")
During the execution of the GET the leader crashes and before it terminates the leader produces the following error message:
From @pfons on April 13, 2016 2:37
The server-client communication protocol relies on spaces to delimit the arguments of requests and newlines to delimit the requests, which are sent over TCP connections. Because neither validation is made on the characters of the command arguments (keys and values) nor are the meta-characters escaped (newlines and spaces), by providing specially crafted input users of vard.py are able to: 1) crash the server; 2) inject commands that are executed by the servers and cause subsequent requests to return wrong results.
To reproduce the bug it suffices to create a client application that issues the following vard.py library calls:
GET("key1 - - \n")
During the execution of the GET the leader crashes and before it terminates the leader produces the following error message:
Note that the last three GET operations produce an incorrect result.
Copied from original issue: uwplse/verdi#42
The text was updated successfully, but these errors were encountered: