Hayato Shimizu created CASSANDRA-20856:
------------------------------------------

             Summary: system_views.settings exposes encryption and TDE 
passwords in plaintext over CQL
                 Key: CASSANDRA-20856
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20856
             Project: Apache Cassandra
          Issue Type: Bug
          Components: Feature/Virtual Tables
            Reporter: Hayato Shimizu


Selecting from the virtual table {{system_views.settings}}  shows the property 
values cassandra.yaml faithfully, including the ones that contain passwords.

 

Any user with {{SELECT}} on {{system_views.settings}} can read these secrets.

 
{code:java}
cqlsh:system_views> select * from settings where name = 
'client_encryption_options.truststore_password';

 name                                          | value
-----------------------------------------------+----------
 client_encryption_options.truststore_password | changeit

(1 rows)
cqlsh:system_views> select * from settings where name = 
'client_encryption_options.keystore_password';

 name                                        | value
---------------------------------------------+----------
 client_encryption_options.keystore_password | changeit

(1 rows)
cqlsh:system_views> select * from settings where name = 
'server_encryption_options.truststore_password';

 name                                          | value
-----------------------------------------------+----------
 server_encryption_options.truststore_password | changeit

(1 rows)
cqlsh:system_views> select * from settings where name = 
'server_encryption_options.keystore_password';

 name                                        | value
---------------------------------------------+----------
 server_encryption_options.keystore_password | changeit

(1 rows)
cqlsh:system_views> select * from system_views.settings where name = 
'transparent_data_encryption_options.key_provider.parameters';

 name                                                        | value
-------------------------------------------------------------+--------------------------------------------------------------------------------------------------
 transparent_data_encryption_options.key_provider.parameters | 
{keystore_password=cassandra, keystore=conf/.keystore, store_type=JCEKS, 
key_password=cassandra} {code}
Passwords and secrets should be handled as a special case and not exposed in 
plain text in any of the virtual tables.



Observed in 4.1.x and 5.0.x



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to