John Kinsella created CLOUDSTACK-4886:
-----------------------------------------

             Summary: cloud-setup-databases not escaping password in shell 
commands
                 Key: CLOUDSTACK-4886
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4886
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
    Affects Versions: 4.2.0
            Reporter: John Kinsella
             Fix For: 4.2.1


When initializing a new ACS database, the database key is not being properly 
escaped when passed back to shell commands. I haven't tested the other keys 
passed into this command, yet.

(Passwords below are not real, but the < character and resulting error is what 
was encountered)

root@acsmgmt01 ACS# cloudstack-setup-databases 
cloud:jpiasfadf324234jcW@localhost --deploy-as=root:lkjeroiuwer -e file -m 
'asdflkjasdflkjwer' -k 'sfsd<Cugasdfsdf' -i 10.100.10.10
Mysql user name:cloud [ OK ]
Mysql user password:jpiasfadf324234jcW [ OK ]
Mysql server ip:localhost [ OK ]
Mysql server port:3306 [ OK ]
Mysql root user name:root [ OK ]
Mysql root user password:lkjeroiuwer [ OK ]
Using specified cluster management server node IP 10.100.10.10 [ OK ]
Checking Cloud database files ... [ OK ]
Checking local machine hostname ... [ OK ]
Checking SELinux setup ... WARNING: We detected that your SELinux is not 
configured in permissive. to make sure cloudstack won't block by SELinux after 
system reboot, we strongly suggest you setting it in permissive in 
/etc/selinux/config, then reboot the machine.
[ OK ]
Preparing /etc/cloudstack/management/db.properties [ OK ]
Applying /usr/share/cloudstack-management/setup/create-database.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/create-schema.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/create-database-premium.sql [ 
OK ]
Applying /usr/share/cloudstack-management/setup/create-schema-premium.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/server-setup.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/templates.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_db.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_schema.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_multipart.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_index.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_multipart_alter.sql [ 
OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_bucketpolicy.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_policy_alter.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_offering.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_offering_alter.sql [ OK 
]
Processing encryption ... Traceback (most recent call last):
File "/usr/bin/cloudstack-setup-databases", line 607, in <module>
o.run()
File "/usr/bin/cloudstack-setup-databases", line 596, in run
self.processEncryptionStuff()
File "/usr/bin/cloudstack-setup-databases", line 433, in processEncryptionStuff
encryptDBSecretKey()
File "/usr/bin/cloudstack-setup-databases", line 417, in encryptDBSecretKey
self.putDbProperty('db.cloud.encrypt.secret', 
formatEncryptResult(encrypt(self.dbsecretkey)))
File "/usr/bin/cloudstack-setup-databases", line 407, in encrypt
return runCmd(cmd).strip('\n')
File "/usr/bin/cloudstack-setup-databases", line 51, in runCmd
raise Exception(stderr)
Exception: /bin/sh: Cugasdfsdf: No such file or directory

Looks like this is caused by no escaping at line 406 in 
cloudstack-setup-databases.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to