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