Skip to content

Commit

Permalink
Fix SSH injection threat in 3PAR driver
Browse files Browse the repository at this point in the history
The setqos ssh command was not built up correctly when the following
patch https://review.openstack.org/#/c/37697/ landed for cleaning up
the SSH calls from injection attacks in the 3PAR driver.

The command was in the following format causing the injection threat
due to the spaces in the second item in the list:
['setqos', '-io 5000 -bw 500M vvset:vvs-JOHB2Oj0QJ2UaWatwbe7Bg']
When it should actually be in the following format:
['setqos', '-io', '5000', '-bw', '500M', 'vvset:vvs-JOHB2Oj0QJ2UaWatwbe7Bg']

Change-Id: I69ed8dbca3af3ba56220891411b63331c1935373
Fixes: bug 1212884
  • Loading branch information
kumartin committed Aug 15, 2013
1 parent b001824 commit e8acc50
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions cinder/volume/drivers/san/hp/hp_3par_common.py
Expand Up @@ -619,12 +619,13 @@ def _get_keys_by_volume_type(self, volume_type):
def _set_qos_rule(self, qos, vvs_name):
max_io = self._get_qos_value(qos, 'maxIOPS')
max_bw = self._get_qos_value(qos, 'maxBWS')
cli_qos_string = ""
cmd = ['setqos']
if max_io is not None:
cli_qos_string += ('-io %s ' % max_io)
cmd.extend(['-io', '%s' % max_io])
if max_bw is not None:
cli_qos_string += ('-bw %sM ' % max_bw)
self._cli_run(['setqos', '%svvset:%s' % (cli_qos_string, vvs_name)])
cmd.append(['-bw', '%sM' % max_bw])
cmd.append('vvset:' + vvs_name)
self._cli_run(cmd)

def _add_volume_to_volume_set(self, volume, volume_name,
cpg, vvs_name, qos):
Expand Down

0 comments on commit e8acc50

Please sign in to comment.