mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-04-26 02:08:53 +02:00
version 1.0.8
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
<div class="separator"> </div>
|
||||
<table class="report">
|
||||
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
|
||||
<tr><td><a href="org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html">NvdCveAnalyzer</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">74%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:74px"><span class="text">20/27</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">37%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:37px"><span class="text">3/8</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.5;</span>1.5</td></tr>
|
||||
<tr><td><a href="org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html">NvdCveAnalyzer</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">75%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:75px"><span class="text">21/28</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">37%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:37px"><span class="text">3/8</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.5;</span>1.5</td></tr>
|
||||
|
||||
</table>
|
||||
<div class="separator"> </div>
|
||||
@@ -90,7 +90,7 @@
|
||||
<tr> <td class="numLine"> 36</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 37</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @author Jeremy Long (jeremy.long@owasp.org)</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @author Jeremy Long <jeremy.long@owasp.org></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 38</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 39</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> NvdCveAnalyzer <span class="keyword">implements</span> Analyzer {</pre></td></tr>
|
||||
@@ -218,224 +218,103 @@
|
||||
<tr> <td class="numLineCover"> 107</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String value = id.getValue();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<Vulnerability> vulns = cveDB.getVulnerabilities(value);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 109</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> dependency.getVulnerabilities().addAll(vulns);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 110</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//TODO - remove this comment block after additional testing is completed</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 111</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//note - valid match functionality has been moved into the CveDB class.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 112</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// for (Vulnerability v : vulns) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 110</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (DatabaseException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 111</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> AnalysisException(ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 112</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 113</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// if (isValidMatch(dependency, v)) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 114</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// dependency.addVulnerability(v);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 115</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 116</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 117</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (DatabaseException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 118</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> AnalysisException(ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 119</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 120</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 114</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 115</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 116</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 117</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 118</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Returns true because this analyzer supports all dependency types.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 119</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 120</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return true.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 121</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 123</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 124</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 125</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Returns true because this analyzer supports all dependency types.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 126</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 127</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return true.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 128</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 129</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 122</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> Set<String> getSupportedExtensions() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 130</td> <td class="nbHitsCovered"> 132</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 131</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 123</td> <td class="nbHitsCovered"> 132</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 124</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 132</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 125</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 133</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 126</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 134</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 127</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Returns the name of this analyzer.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 135</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 128</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 136</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 129</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return the name of this analyzer.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 137</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 130</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 138</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 131</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> String getName() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="string">"NVD CVE Analyzer"</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 140</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 132</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="string">"NVD CVE Analyzer"</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 133</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 141</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 134</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 135</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 143</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 136</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Returns true because this analyzer supports all dependency types.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 144</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 137</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 145</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 138</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param extension the file extension of the dependency being analyzed.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 146</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 139</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return true.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 147</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 140</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 148</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 141</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> supportsExtension(String extension) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 149</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 150</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 142</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 143</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 151</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 144</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 152</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 145</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 153</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 146</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Returns the analysis phase that this analyzer should run in.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 147</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 155</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 148</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return the analysis phase that this analyzer should run in.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 156</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 149</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 150</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> AnalysisPhase getAnalysisPhase() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 158</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> AnalysisPhase.FINDING_ANALYSIS;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 159</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 151</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> AnalysisPhase.FINDING_ANALYSIS;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 152</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 160</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 153</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 161</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 155</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Opens the NVD CVE Lucene Index.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 163</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 156</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 164</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @throws Exception is thrown if there is an issue opening the index.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 165</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 158</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 166</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 159</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> initialize() <span class="keyword">throws</span> Exception {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 167</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//TODO - remove this comment block after additional testing is completed</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 170</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// The following check has been moved into the CveDB class.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 171</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// /**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 172</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * <p>Determines if this is a valid vulnerability match for the given</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 173</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * dependency. Specifically, this is concerned with ensuring the version</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * numbers are correct.</p></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 175</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * <p>Currently, this is focused on the issues with the versions for Struts</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 176</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * 1 and Struts 2. In the future this will due better matching on more</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 177</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * version numbers.</p></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 178</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 179</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * @param dependency the dependency</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * @param v the vulnerability</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 181</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// * @return returns true if the vulnerability is for the given dependency</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 182</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 183</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// private boolean isValidMatch(final Dependency dependency, final Vulnerability v) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 184</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// //right now I only know of the issue with Struts1/2</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 185</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// // start with fixing this problem.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 186</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">////</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// //TODO extend this solution to do better version matching for the vulnerable software.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// boolean struts1 = false;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 189</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// boolean struts2 = false;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 190</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// for (Identifier i : dependency.getIdentifiers()) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// if (i.getValue().startsWith("cpe:/a:apache:struts:")) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// final char version = i.getValue().charAt(21);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 193</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// if (version == '1') {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// struts1 = true;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 195</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// if (version == '2') {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// struts2 = true;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 198</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// if (!struts1 && !struts2) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// return true; //we are not looking at struts, so return true.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// if (struts1 && struts2) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// return true; //there is a mismatch here, but we can't solve it here so we return valid.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 207</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// if (struts1) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// boolean hasStruts1Vuln = false;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// boolean hasStruts2PreviousVersion = false;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// for (VulnerableSoftware vs : v.getVulnerableSoftware()) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// //TODO FIX THIS</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 212</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// //hasStruts2PreviousVersion |= vs.hasPreviousVersion() && vs.getName().charAt(21) == '2';</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// //hasStruts1Vuln |= vs.getName().charAt(21) == '1';</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// if (!hasStruts1Vuln && hasStruts2PreviousVersion) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 216</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// return false;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 218</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 219</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">////</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// return true;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 221</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//// }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 222</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 160</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 161</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
</table>
|
||||
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9.4.1 on 12/2/13 10:29 PM.</div>
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 1/16/14 7:28 AM.</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user