You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Philip Thompson (JIRA)" <ji...@apache.org> on 2016/07/26 17:23:20 UTC

[jira] [Updated] (CASSANDRA-12305) Privacy VIolation - Heap Inspection

     [ https://issues.apache.org/jira/browse/CASSANDRA-12305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Philip Thompson updated CASSANDRA-12305:
----------------------------------------
    Reproduced In: 3.0.5
    Fix Version/s:     (was: 3.0.5)
                   3.0.x

> Privacy VIolation - Heap Inspection
> -----------------------------------
>
>                 Key: CASSANDRA-12305
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12305
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Eduardo Aguinaga
>             Fix For: 3.0.x
>
>
> Overview:
> In May through June of 2016 a static analysis was performed on version 3.0.5 of the Cassandra source code. The analysis included an automated analysis using HP Fortify v4.21 SCA and a manual analysis utilizing SciTools Understand v4. The results of that analysis includes the issue below.
> Issue:
> In the file NodeProbe.java on lines 139 and 181 a string object is used to store sensitive data. String objects are immutable and should not be used to store sensitive data. Sensitive data should be stored in char or byte arrays and the contents of those arrays should be cleared ASAP. Operations performed on string objects will require that the original object be copied and the operation be applied in the new copy of the string object. This results in the likelihood that multiple copies of sensitive data will be present in the heap until garbage collection takes place.
> The snippet below shows the issue on line 139:
> NodeProbe.java, lines 105-141:
> {code:java}
> 105 private String password;
> . . .
> 131 public NodeProbe(String host, int port, String username, String password) throws IOException
> 132 {
> 133     assert username != null && !username.isEmpty() && password != null && !password.isEmpty()
> 134            : "neither username nor password can be blank";
> 135 
> 136     this.host = host;
> 137     this.port = port;
> 138     this.username = username;
> 139     this.password = password;
> 140     connect();
> 141 }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)