Skip to content

Security: ACS user access to all databases #8240

Open
@tampler

Description

@tampler
ISSUE TYPE
  • Bug Report
  • Improvement Request
  • Enhancement Request
COMPONENT NAME
Core, MySQL
CLOUDSTACK VERSION
4.19.0.0-snapshot.20231113
CONFIGURATION
OS / ENVIRONMENT

Ubuntu 22.04

SUMMARY

ACS requires access to all MySQL databases, which creates a huge security hole for a shared MySQL instance.

Trying to limit the scope of ACS access yields in the access denied error (see below).

STEPS TO REPRODUCE
> `sudo cloudstack-setup-databases cloud:cloud@mysql --deploy-as=root`

/usr/share/cloudstack-management/setup/create-database.sql
lines: 64-65
GRANT process ON *.* TO cloud@`localhost`;
GRANT process ON *.* TO cloud@`%`;


// This works with the full access
GRANT ALL ON *.* TO 'root'@'hyp0' WITH GRANT OPTION 

// This yields in an error:
- GRANT ALL ON mysql.* TO 'root'@'hyp0' WITH GRANT OPTION
- GRANT ALL ON billing.* TO 'root'@'hyp0' WITH GRANT OPTION
- GRANT ALL ON cloud.* TO 'root'@'hyp0' WITH GRANT OPTION
- GRANT ALL ON cloud_usage.* TO 'root'@'hyp0' WITH GRANT OPTION
EXPECTED RESULTS
ACS configs own databases only without an error
ACTUAL RESULTS
ACS wants a full access and gives an error when a limited db access is provided

We apologize for below error:                                                         
table:                                                                                                                                                                       
/usr/share/cloudstack-management/setup/create-database.sql                                                                                                                   
                                                                                      
Error:                                                                                
b"ERROR 1045 (28000) at line 64: Access denied for user 'root'@'hyp0' (using password: NO)\n" 

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions