From 32986c4d645f3e968428b09b826b3e2e2a97adb5 Mon Sep 17 00:00:00 2001 From: James Tanner Date: Fri, 22 Nov 2013 16:36:31 -0500 Subject: Fixes #5021 safely split hostkeys with quotes --- library/system/authorized_key | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/library/system/authorized_key b/library/system/authorized_key index 5c40e7d97c..db0425d2a1 100644 --- a/library/system/authorized_key +++ b/library/system/authorized_key @@ -209,7 +209,12 @@ def parsekey(raw_key): key_type = None # type of ssh key type_index = None # index of keytype in key string|list - key_parts = shlex.split(raw_key) + # split key safely + lex = shlex.shlex(raw_key) + lex.quotes = ["'", '"'] + lex.whitespace_split = True + key_parts = list(lex) + for i in range(0, len(key_parts)): if key_parts[i] in VALID_SSH2_KEY_TYPES: type_index = i -- cgit v1.2.1