[ 
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)

Reply via email to