Fod
Fod
Fod
Security Review
Application Details
Application type Financial Application use Developed For Sale
Business Units Software Apps - Public Facing Data classification Other
Development Lead Michael Yoffee Interface type Web Access
Project type Application Regions North America
Test Type Static
Likelihood
Issue Status
New Existing Reopened
164 0 0
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 2
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Issue Breakdown
Issues are divided based on their impact (potential damage) and likelihood (probability of identification and exploit).
High impact / high likelihood issues represent the highest priority and present the greatest threat.
Low impact / low likelihood issues are the lowest priority and present the smallest threat.
See Appendix for more information.
Vulnerabilities in your applications may take some time to remediate, test and move to production. In the meantime, we suggest HPE
Application Defender to virtually patch these vulnerabilities. App Defender is installed from the cloud and begins monitoring and
protecting your applications in minutes. A free trial is available at www.hp-application-defender.com. The team is ready to help you. Give
it a try or contact us at hpAppDefender@hp.com.
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 3
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Issue Breakdown by OWASP Top 10 2013
PCI Sections 6.3, 6.5 & 6.6
The OWASP Top Ten represents a broad consensus about what the most critical web application security flaws are. Project members
include a variety of security experts from around the world who have shared their expertise to produce this list.
The PCI compliance standards, particularly sections 6.3, 6.5, and 6.6, reference the OWASP Top Ten vulnerability categories as the core
categories that must be tested for and remediated.
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 4
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Issue Breakdown by Analysis Type
Issues are divided based on their impact (potential damage) and likelihood (probability of identification and exploit).
High impact / high likelihood issues represent the highest priority and present the greatest threat.
Low impact / low likelihood issues are the lowest priority and present the smallest threat.
See Appendix for more information.
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 5
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Issue Details
Below is an enumeration of all issues found in the project. The issues are organized by priority and category and then broken down by the
package, namespace, or location in which they occur.
The priority of an issue can be Critical, High, Medium, or Low.
Issues from static analysis reported on at same line number with the same category originate from different taint sources.
Summary
The method in sends unvalidated data to a web browser on line , which can result in the browser executing malicious code.Sending unvalidated data to a web
browser can result in the browser executing malicious code.
Explanation
Cross-site scripting (XSS) vulnerabilities occur when:
1. Data enters a web application through an untrusted source. In the case of Reflected XSS, the untrusted source is typically a web request, while in the case
of Persisted (also known as Stored) XSS it is typically a database or other back-end datastore.
2. The data is included in dynamic content that is sent to a web user without being validated.
The malicious content sent to the web browser often takes the form of a segment of JavaScript, but may also include HTML, Flash or any other type of code
that the browser may execute. The variety of attacks based on XSS is almost limitless, but they commonly include transmitting private data like cookies or
other session information to the attacker, redirecting the victim to web content controlled by the attacker, or performing other malicious operations on the
user's machine under the guise of the vulnerable site.
Example 1: The following JSP code segment reads an employee ID, eid, from an HTTP request and displays it to the user.
Example 1: The following code reads an employee ID, eid, from an HTTP servlet request, then displays the value back to the user in the servlet's response.
Example 1: The following JSP code segment reads an employee ID, eid, from an HTTP request and displays it to the user via the <c:out/> tag. By setting
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 6
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
escapeXml="false", it does not perform even basic checking for potentially malicious data.
Example 1: The following code reads an employee ID, eid, from a JSF form.
...
<h:form>
Enter employee ID: <h:inputText value="#{eid}"/>
</h:form>
...
Its response page then reads the value of eid and displays it to the user.
...
Employee ID: <h:outputText value="#{eid}" escape="false"/>
...
Example 1: The following code reads an employee ID, eid, from an HTTP request, then checks the value for this key in bundle. If the key doesn't exist, the
default functionality is to print the key to the user.
<fmt:setLocale value="en"/>
<fmt:setBundle basename="com.company.Names" var="names"/>
Example 1: The following JSP code segment reads an employee ID, eid, from an HTTP request and displays it to the user.
Example 1: The following JSP code segment reads an employee ID, eid, from an HTTP request and displays it to the user.
The code in this example operates correctly if eid contains only standard alphanumeric text. If eid has a value that includes meta-characters or source
code, then the code will be executed by the web browser as it displays the HTTP response.
Initially this might not appear to be much of a vulnerability. After all, why would someone enter a URL that causes malicious code to run on their own
computer? The real danger is that an attacker will create the malicious URL, then use e-mail or social engineering tricks to lure victims into visiting a link to
the URL. When victims click the link, they unwittingly reflect the malicious content through the vulnerable web application back to their own computers. This
mechanism of exploiting vulnerable web applications is known as Reflected XSS.
Example 2: The following JSP code segment queries a database for an employee with a given ID and prints the corresponding employee's name.
<%...
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from emp where id="+eid);
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 7
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
if (rs != null) {
rs.next();
String name = rs.getString("name");
}
%>
Example 2: The following code segment queries a database for an employee with a given ID and prints the corresponding employee's name in the servlet's
response.
...
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from emp where id="+eid);
if (rs != null) {
rs.next();
String name = rs.getString("name");
}
Example 2: The following JSP code segment queries a database for an employee with a given ID and prints the corresponding employee's name via the
<c:out/> tag. By setting escapeXml="false", it does not perform even basic checking for potentially malicious data.
<%...
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from emp where id="+eid);
if (rs != null) {
rs.next();
String name = rs.getString("name");
}
%>
Example 2: The following JSP code segment queries a database for an employee with a given ID and looks up the corresponding employee's name in a bundle
via the key attribute within the <fmt:message/> tag. If the key does not exist, the value passed to key gets printed to the page.
<%...
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from emp where id="+eid);
if (rs != null) {
rs.next();
String name = rs.getString("name");
}
%>
<fmt:setLocale value="en"/>
<fmt:setBundle basename="com.company.Names" var="names"/>
Example 2: The following code first queries a database for an employee with a given ID, converts the results into a list, and stores the list inside
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 8
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
employeesBean.
Then it uses JSF's dataTable construct to print the corresponding employee's name.
<f:view>
...
<h:dataTable value="employeesBean.employeeList" var="employee">
...
<h:column>
<f:facet name="header">
<h:outputText value="Employee Name"/>
</f:facet>
<h:outputText value="#{employee.name}" escape="false"/>
</h:column>
...
</h:dataTable>
...
</f:view>
Example 2: The following JSP code segment queries a database for an employee with a given ID and prints the corresponding employee's name.
<%...
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from emp where id="+eid);
if (rs != null) {
rs.next();
String name = rs.getString("name");
}
%>
Example 2: The following JSP code segment queries a database for an employee with a given ID and prints the corresponding employee's name.
<%...
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from emp where id="+eid);
if (rs != null) {
rs.next();
String name = rs.getString("name");
}
%>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 9
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
As in Example 1, this code functions correctly when the values of name are well-behaved, but it does nothing to prevent exploits if they are not. Again, this
code can appear less dangerous because the value of name is read from a database, whose contents are apparently managed by the application. However, if
the value of name originates from user-supplied data, then the database can be a conduit for malicious content. Without proper input validation on all data
stored in the database, an attacker can execute malicious commands in the user's web browser. This type of exploit, known as Persistent (or Stored) XSS, is
particularly insidious because the indirection caused by the data store makes it more difficult to identify the threat and increases the possibility that the
attack will affect multiple users. XSS got its start in this form with web sites that offered a "guestbook" to visitors. Attackers would include JavaScript in their
guestbook entries, and all subsequent visitors to the guestbook page would execute the malicious code.
Some think that in the mobile world, classic web application vulnerabilities, such as cross-site scripting, do not make sense -- why would the user attack
themself? However, keep in mind that the essence of mobile platforms is applications that are downloaded from various sources and run alongside each other
on the same device. The likelihood of running a piece of malware next to a banking application is high, which necessitates expanding the attack surface of
mobile applications to include inter-process communication.
Example 3: The following code enables JavaScript in Android's WebView (by default, JavaScript is disabled) and loads a page based on the value received
from an Android intent.
...
WebView webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
String url = this.getIntent().getExtras().getString("url");
webview.loadUrl(url);
...
If the value of url starts with javascript:, JavaScript code that follows will execute within the context of the web page inside WebView.
As the examples demonstrate, XSS vulnerabilities are caused by code that includes unvalidated data in an HTTP response. There are three vectors by which
an XSS attack can reach a victim:
- As in Example 1, data is read directly from the HTTP request and reflected back in the HTTP response. Reflected XSS exploits occur when an attacker
causes a user to supply dangerous content to a vulnerable web application, which is then reflected back to the user and executed by the web browser. The
most common mechanism for delivering malicious content is to include it as a parameter in a URL that is posted publicly or e-mailed directly to victims. URLs
constructed in this manner constitute the core of many phishing schemes, whereby an attacker convinces victims to visit a URL that refers to a vulnerable
site. After the site reflects the attacker's content back to the user, the content is executed and proceeds to transfer private information, such as cookies that
may include session information, from the user's machine to the attacker or perform other nefarious activities.
- As in Example 2, the application stores dangerous data in a database or other trusted data store. The dangerous data is subsequently read back into the
application and included in dynamic content. Persistent XSS exploits occur when an attacker injects dangerous content into a data store that is later read and
included in dynamic content. From an attacker's perspective, the optimal place to inject malicious content is in an area that is displayed to either many users
or particularly interesting users. Interesting users typically have elevated privileges in the application or interact with sensitive data that is valuable to the
attacker. If one of these users executes malicious content, the attacker may be able to perform privileged operations on behalf of the user or gain access to
sensitive data belonging to the user.
- As in Example 3, a source outside the application stores dangerous data in a database or other data store, and the dangerous data is subsequently read
back into the application as trusted data and included in dynamic content.
A number of modern web frameworks provide mechanisms for performing validation of user input. Struts and Spring MVC are among them. To highlight the
unvalidated sources of input, the rulepacks dynamically re-prioritize the issues reported by HP Fortify Static Code Analyzer by lowering their probability of
exploit and providing pointers to the supporting evidence whenever the framework validation mechanism is in use. We refer to this feature as
Context-Sensitive Ranking. To further assist the HP Fortify user with the auditing process, the HP Fortify Software Security Research Group makes available
the Data Validation project template that groups the issues into folders based on the validation mechanism applied to their source of input.
A number of modern web frameworks provide mechanisms for performing validation of user input. Struts and Spring MVC are among them. To highlight the
unvalidated sources of input, the rulepacks dynamically re-prioritize the issues reported by HP Fortify Static Code Analyzer by lowering their probability of
exploit and providing pointers to the supporting evidence whenever the framework validation mechanism is in use. We refer to this feature as
Context-Sensitive Ranking. To further assist the HP Fortify user with the auditing process, the HP Fortify Software Security Research Group makes available
the Data Validation project template that groups the issues into folders based on the validation mechanism applied to their source of input.
Recommendation
The solution to XSS is to ensure that validation occurs in the correct places and checks for the correct properties.
Since XSS vulnerabilities occur when an application includes malicious data in its output, one logical approach is to validate data immediately before it leaves
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 10
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
the application. However, because web applications often have complex and intricate code for generating dynamic content, this method is prone to errors of
omission (missing validation). An effective way to mitigate this risk is to also perform input validation for XSS.
Web applications must validate their input to prevent other vulnerabilities, such as SQL injection, so augmenting an application's existing input validation
mechanism to include checks for XSS is generally relatively easy. Despite its value, input validation for XSS does not take the place of rigorous output
validation. An application may accept input through a shared data store or other trusted source, and that data store may accept input from a source that
does not perform adequate input validation. Therefore, the application cannot implicitly rely on the safety of this or any other data. This means the best way
to prevent XSS vulnerabilities is to validate everything that enters the application and leaves the application destined for the user.
The most secure approach to validation for XSS is to create a whitelist of safe characters that are allowed to appear in HTTP content and accept input
composed exclusively of characters in the approved set. For example, a valid username might only include alpha-numeric characters or a phone number
might only include digits 0-9. However, this solution is often infeasible in web applications because many characters that have special meaning to the
browser should still be considered valid input once they are encoded, such as a web design bulletin board that must accept HTML fragments from its users.
A more flexible, but less secure approach is known as blacklisting, which selectively rejects or escapes potentially dangerous characters before using the
input. In order to form such a list, you first need to understand the set of characters that hold special meaning for web browsers. Although the HTML
standard defines what characters have special meaning, many web browsers try to correct common mistakes in HTML and may treat other characters as
special in certain contexts, which is why we do not encourage the use of blacklists as a means to prevent XSS. The CERT(R) Coordination Center at the
Software Engineering Institute at Carnegie Mellon University provides the following details about special characters in various contexts [1]:
- ">" is special because some browsers treat it as special, on the assumption that the author of the page intended to include an opening "<", but omitted it in
error.
- In attribute values enclosed with double quotes, the double quotes are special because they mark the end of the attribute value.
- In attribute values enclosed with single quote, the single quotes are special because they mark the end of the attribute value.
- In attribute values without any quotes, white-space characters, such as space and tab, are special.
- "&" is special when used with certain attributes, because it introduces a character entity.
In URLs, for example, a search engine might provide a link within the results page that the user can click to re-run the search. This can be implemented by
encoding the search query inside the URL, which introduces additional special characters:
- Space, tab, and new line are special because they mark the end of the URL.
- "&" is special because it either introduces a character entity or separates CGI parameters.
- Non-ASCII characters (that is, everything above 128 in the ISO-8859-1 encoding) are not allowed in URLs, so they are considered to be special in this
context.
- The "%" symbol must be filtered from input anywhere parameters encoded with HTTP escape sequences are decoded by server-side code. For example, "%"
must be filtered if input such as "%68%65%6C%6C%6F" becomes "hello" when it appears on the web page in question.
- Semicolons, parentheses, curly braces, and new line characters should be filtered out in situations where text could be inserted directly into a pre-existing
script tag.
Server-side scripts:
- Server-side scripts that convert any exclamation characters (!) in input to double-quote characters (") on output might require additional filtering.
Other possibilities:
- If an attacker submits a request in UTF-7, the special character '<' appears as '+ADw-' and may bypass filtering. If the output is included in a page that does
not explicitly specify an encoding format, then some browsers try to intelligently identify the encoding based on the content (in this case, UTF-7).
Once you identify the correct points in an application to perform validation for XSS attacks and what special characters the validation should consider, the
next challenge is to identify how your validation handles special characters. If special characters are not considered valid input to the application, then you
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 11
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
can reject any input that contains special characters as invalid. A second option in this situation is to remove special characters with filtering. However,
filtering has the side effect of changing any visual representation of the filtered content and may be unacceptable in circumstances where the integrity of the
input must be preserved for display.
If input containing special characters must be accepted and displayed accurately, validation must encode any special characters to remove their significance.
A complete list of ISO 8859-1 encoded values for special characters is provided as part of the official HTML specification [2].
Many application servers attempt to limit an application's exposure to cross-site scripting vulnerabilities by providing implementations for the functions
responsible for setting certain specific HTTP response content that perform validation for the characters essential to a cross-site scripting attack. Do not rely
on the server running your application to make it secure. When an application is developed there are no guarantees about what application servers it will run
on during its lifetime. As standards and known exploits evolve, there are no guarantees that application servers will also stay in sync.
Instances
Cross-Site Scripting: Reflected Critical
Package: /
Sink:/.main.jsp._jspService
Enclosing Method:_jspService
ID 10601967 - WebContent/main.jsp:114 dataflow
Source:javax.servlet.ServletRequest.getParameter() from /.main .jsp._jspService in
main.jsp:34
Sink:/.main.jsp._jspService
Enclosing Method:_jspService
ID 10601899 - WebContent/main.jsp:119 dataflow
Source:javax.servlet.ServletRequest.getParameter() from /.main .jsp._jspService in
main.jsp:34
Sink:/.main.jsp._jspService
Enclosing Method:_jspService
ID 10601920 - WebContent/main.jsp:135 dataflow
Source:javax.servlet.ServletRequest.getParameter() from /.main .jsp._jspService in
main.jsp:34
Sink:/.main.jsp._jspService
Enclosing Method:_jspService
ID 10601929 - WebContent/main.jsp:124 dataflow
Source:javax.servlet.ServletRequest.getParameter() from /.main .jsp._jspService in
main.jsp:34
Sink:/.main.jsp._jspService
Enclosing Method:_jspService
ID 10601942 - WebContent/main.jsp:130 dataflow
Source:javax.servlet.ServletRequest.getParameter() from /.main .jsp._jspService in
main.jsp:34
Package: /lessons/CrossSiteScripting
Sink:/lessons/CrossSiteScripting.SearchStaff.jsp._jspService
Enclosing Method:_jspService
ID 10601866 - WebContent/lessons/CrossSiteScripting/SearchStaff.jsp:11 dataflow
Source:javax.servlet.ServletRequest.getParameter() from
/lessons/CrossSiteScripting.SearchStaff.jsp. _jspService in SearchStaff.jsp:7
Package: /lessons/RoleBasedAccessControl
Sink:/lessons/RoleBasedAccessControl.SearchStaff.jsp. _jspService
ID 10601867 - WebContent/lessons/RoleBasedAccessControl/SearchStaff Enclosing Method:_jspService
dataflow
.jsp:11 Source:javax.servlet.ServletRequest.getParameter() from
/lessons/RoleBasedAccessControl.SearchStaff.jsp. _jspService in SearchStaff.jsp:7
Package: /lessons/SQLInjection
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 12
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Sink:/lessons/SQLInjection.SearchStaff.jsp._jspService
Enclosing Method:_jspService
ID 10601911 - WebContent/lessons/SQLInjection/SearchStaff.jsp:11 dataflow
Source:javax.servlet.ServletRequest.getParameter() from
/lessons/SQLInjection.SearchStaff.jsp. _jspService in SearchStaff.jsp:7
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 13
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
6.2.1 Null Dereference High
CWE ID 476
OWASP Top 10: None
PCI 3.0: Requirement 6.5.5
Summary
The method in can crash the program by dereferencing a null pointer on line .The program can potentially dereference a null pointer, thereby causing a null
pointer exception.
Explanation
Null pointer exceptions usually occur when one or more of the programmer's assumptions is violated. A dereference-after-store error occurs when a program
explicitly sets an object to null and dereferences it later. This error is often the result of a programmer initializing a variable to null when it is declared.
In this case, the variable can be null when it is dereferenced at line 508, thereby causing a null pointer exception.
Most null pointer issues result in general software reliability problems, but if attackers can intentionally trigger a null pointer dereference, they can use the
resulting exception to bypass security logic or to cause the application to reveal debugging information that will be valuable in planning subsequent attacks.
Example: In the following code, the programmer explicitly sets the variable foo to null. Later, the programmer dereferences foo before checking the
object for a null value.
Recommendation
Implement careful checks before dereferencing objects that might be null. When possible, abstract null checks into wrappers around code that manipulates
resources to ensure that they are applied in all cases and to minimize the places where mistakes can occur.
Instances
Null Dereference High
Package: com.t_tank.j2h
Sink:com.t_tank.j2h.Java2Html.class$
ID 10601936 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:148 controlflow
Enclosing Method:class$
Sink:com.t_tank.j2h.Java2Html.generateHtml
ID 10601974 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:368 controlflow
Enclosing Method:generateHtml
Sink:com.t_tank.j2h.Java2Html.main
ID 10601953 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:529 controlflow
Enclosing Method:main
Package: org.enhydra.instantdb.db
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 14
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601841 - WebContent/WEB-INF/lib/org/enhydra/instantdb/db Sink:org.enhydra.instantdb.db.BlobColumn.getOffsetByRow
controlflow
/BlobColumn.java:527 Enclosing Method:getOffsetByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 15
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601960 - WebContent/WEB-INF/lib/org/enhydra/instantdb/db Sink:org.enhydra.instantdb.db.Database.dbCreate
controlflow
/Database.java:774 Enclosing Method:dbCreate
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 16
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
controlflow
/LongColumn.java:330 Enclosing Method:equalToRow
Sink:org.enhydra.instantdb.db.Table.saveRowCounts
ID 10601918 - WebContent/WEB-INF/lib/org/enhydra/instantdb/db/Table .java:231 controlflow
Enclosing Method:saveRowCounts
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 17
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601857 - WebContent/WEB-INF/lib/org/enhydra/instantdb/db/Table Sink:org.enhydra.instantdb.db.Table.addOrderedField
controlflow
.java:1672 Enclosing Method:addOrderedField
Package: org.enhydra.instantdb.jdbc
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 18
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601956 - WebContent/WEB-INF/lib/org/enhydra/instantdb/jdbc Sink:org.enhydra.instantdb.jdbc.idbPreparedStatement .setAsciiStream
controlflow
/idbPreparedStatement.java:195 Enclosing Method:setAsciiStream
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 19
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
6.2.2 Open Redirect High
CWE ID 601
OWASP Top 10: A10 Unvalidated Redirects and Forwards
PCI 3.0: Requirement 6.5.1
Summary
The file passes unvalidated data to an HTTP redirect function on line . Allowing unvalidated input to control the URL used in a redirect can aid phishing
attacks.Allowing unvalidated input to control the URL used in a redirect can aid phishing attacks.
Explanation
Redirects allow web applications to direct users to different pages within the same application or to external sites. Applications utilize redirects to aid in site
navigation and, in some cases, to track how users exit the site. Open redirect vulnerabilities occur when a web application redirects clients to any arbitrary
URL that can be controlled by an attacker.
Attackers can utilize open redirects to trick users into visiting a URL to a trusted site and redirecting them to a malicious site. By encoding the URL, an
attacker can make it more difficult for end-users to notice the malicious destination of the redirect, even when it is passed as a URL parameter to the trusted
site. Open redirects are often abused as part of phishing scams to harvest sensitive end-user data.
In this case, the URL the client will be redirected to is accepted at in config.jsp at line 12.
Example 1: The following JSP code instructs the user's browser to open a URL parsed from the dest request parameter when a user clicks the link.
<%
...
String strDest = request.getParameter("dest");
pageContext.forward(strDest);
...
%>
Many users have been educated to always inspect URLs they receive in emails to make sure the link specifies a trusted site they know. However, if the
attacker Hex encoded the destination url as follows:
"http://trusted.example.com/ecommerce/redirect.asp?dest=%77%69%6C%79%68%61
%63%6B%65%72%2E%63%6F%6D"
then even a savvy end-user may be fooled into following the link.
Recommendation
Unvalidated user input should not be allowed to control the destination URL in a redirect. Instead, use a level of indirection: create a list of legitimate URLs
that users are allowed to specify and only allow users to select from the list. With this approach, input provided by users is never used directly to specify a
URL for redirects.
Example 2: The following code references an array populated with valid URLs. The link the user clicks passes in the array index that corresponds to the
desired URL.
<%
...
try {
int strDest = Integer.parseInt(request.getParameter("dest"));
if((strDest >= 0) && (strDest <= strURLArray.length -1 ))
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 20
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
{
strFinalURL = strURLArray[strDest];
pageContext.forward(strFinalURL);
}
}
catch (NumberFormatException nfe) {
// Handle exception
...
}
...
%>
In some situations this approach is impractical because the set of legitimate URLs is too large or too hard to keep track of. In such cases, use a similar
approach to restrict the domains that users can be redirected to, which can at least prevent attackers from sending users to malicious external sites.
Instances
Open Redirect High
Package: /lessons/ConfManagement
Sink:/lessons/ConfManagement.config.jsp._jspService
Enclosing Method:_jspService
ID 10601964 - WebContent/lessons/ConfManagement/config.jsp:12 dataflow
Source:javax.servlet.ServletRequest.getParameter() from
/lessons/ConfManagement.config.jsp._jspService in config.jsp:12
Sink:/lessons/ConfManagement.config.jsp._jspService
Enclosing Method:_jspService
ID 10601965 - WebContent/lessons/ConfManagement/config.jsp:12 dataflow
Source:javax.servlet.ServletRequest.getParameter() from
/lessons/ConfManagement.config.jsp._jspService in config.jsp:11
Package: /lessons/General
Sink:/lessons/General.redirect.jsp._jspService
Enclosing Method:_jspService
ID 10601910 - WebContent/lessons/General/redirect.jsp:12 dataflow
Source:javax.servlet.ServletRequest.getParameter() from
/lessons/General.redirect.jsp._jspService in redirect.jsp:12
Sink:/lessons/General.redirect.jsp._jspService
Enclosing Method:_jspService
ID 10601882 - WebContent/lessons/General/redirect.jsp:12 dataflow
Source:javax.servlet.ServletRequest.getParameter() from
/lessons/General.redirect.jsp._jspService in redirect.jsp:13
Sink:/lessons/General.redirect.jsp._jspService
Enclosing Method:_jspService
ID 10601941 - WebContent/lessons/General/redirect.jsp:12 dataflow
Source:javax.servlet.ServletRequest.getParameter() from
/lessons/General.redirect.jsp._jspService in redirect.jsp:11
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 21
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
6.2.3 Password Management: Empty Password High
CWE ID 259
OWASP Top 10: A6 Sensitive Data Exposure
PCI 3.0: Requirement 3.4, Requirement 6.5.3, Requirement 8.2.1
Summary
Empty passwords may compromise system security in a way that cannot be easily remedied.
Explanation
It is never a good idea to assign an empty string to a password variable. If the empty password is used to successfully authenticate against another system,
then the corresponding account's security is likely compromised because it accepts an empty password. If the empty password is merely a placeholder until a
legitimate value can be assigned to the variable, then it can confuse anyone unfamiliar with the code and potentially cause problems on unexpected control
flow paths.
In this case an empty password was found in the call to in Database.java at line 124.
Example 1: The code below attempts to connect to a database with an empty password.
...
DriverManager.getConnection(url, "scott", "");
...
If the code in Example 1 succeeds, it indicates that the database user account "scott" is configured with an empty password, which can be easily guessed by
an attacker. Even worse, once the program has shipped, updating the account to use a non-empty password will require a code change.
Example 2: The code below initializes a password variable to an empty string, attempts to read a stored value for the password, and compares it against a
user-supplied value.
...
String storedPassword = "";
String temp;
if(storedPassword.equals(userPassword))
// Access protected resources
...
}
...
If readPassword() fails to retrieve the stored password due to a database error or another problem, then an attacker could trivially bypass the
password check by providing an empty string for userPassword.
In the mobile world, password management is even trickier, considering a much higher chance of device loss.
Example 3: The code below initializes username and password variables to empty strings, reads credentials from an Android WebView store if they have not
been previously rejected by the server for the current request, and uses them to setup authentication for viewing protected pages.
...
webview.setWebViewClient(new WebViewClient() {
public void onReceivedHttpAuthRequest(WebView view,
HttpAuthHandler handler, String host, String realm) {
String username = "";
String password = "";
if (handler.useHttpAuthUsernamePassword()) {
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 22
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
String[] credentials = view.getHttpAuthUsernamePassword(host, realm);
username = credentials[0];
password = credentials[1];
}
handler.proceed(username, password);
}
});
...
Similar to Example 2, if useHttpAuthUsernamePassword() returns false, an attacker will be able to view protected pages by supplying an empty
password.
Recommendation
Always read stored password values from encrypted, external resources and assign password variables meaningful values. Ensure that sensitive resources
are never protected with empty or null passwords.
For Android, as well as any other platform that uses SQLite database, a good option is SQLCipher -- an extension to SQLite database that provides
transparent 256-bit AES encryption of database files. Thus, credentials can be stored in an encrypted database.
Example 4: The code below demonstrates how to integrate SQLCipher into an Android application after downloading the necessary binaries, and store
credentials into the database file.
import net.sqlcipher.database.SQLiteDatabase;
...
SQLiteDatabase.loadLibs(this);
File dbFile = getDatabasePath("credentials.db");
dbFile.mkdirs();
dbFile.delete();
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbFile, "credentials", null);
db.execSQL("create table credentials(u, p)");
db.execSQL("insert into credentials(u, p) values(?, ?)", new Object[]{username, password});
...
To enable encryption on the WebView store, WebKit has to be re-compiled with the sqlcipher.so library.
Instances
Password Management: Empty Password High
Package: org.enhydra.instantdb.db
Sink:FieldAccess: defaultPassword in
ID 10601904 - WebContent/WEB-INF/lib/org/enhydra/instantdb/db /Database.java:124 Database.java:124 structural
Enclosing Method:Database
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 23
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
6.2.4 Password Management: Password in
High
Configuration File
CWE ID 13, CWE ID 260, CWE ID 555
OWASP Top 10: A6 Sensitive Data Exposure
PCI 3.0: Requirement 3.4, Requirement 6.5.3, Requirement 8.2.1
Summary
Storing a plaintext password in a configuration file may result in a system compromise.
Explanation
Storing a plaintext password in a configuration file allows anyone who can read the file access to the password-protected resource. Developers sometimes
believe that they cannot defend the application from someone who has access to the configuration, but this attitude makes an attacker's job easier. Good
password management guidelines require that a password never be stored in plaintext.
Recommendation
A password should never be stored in plaintext. Instead, the password should be entered by an administrator when the system starts. If that approach is
impractical, a less secure but often adequate solution is to obfuscate the password and scatter the de-obfuscation material around the system so that an
attacker has to obtain and correctly combine multiple system resources to decipher the password.
Some third-party products claim the ability to manage passwords in a more secure way. For example, WebSphere Application Server 4.x uses a simple XOR
encryption algorithm for obfuscating values, but be skeptical about such facilities. WebSphere and other application servers offer outdated and relatively
weak encryption mechanisms that are insufficient for security-sensitive environments. For a secure solution the only viable option is a proprietary one.
Instances
Password Management: Password in Configuration File High
Package: N/A
Sink: in server-config.wsdd:11
ID 10601851 - WebContent/WEB-INF/server-config.wsdd:11 configuration
Enclosing Method:
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 24
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
6.2.5 Unreleased Resource: Database High
CWE ID 404
OWASP Top 10: None
PCI 3.0: Requirement 6.5.6
Summary
The function in sometimes fails to release a system resource allocated by on line .The program can potentially fail to release a database connection.
Explanation
The program can potentially fail to release a database connection.
In this case, there are program paths on which the resource allocated in JdbcImporter.java at line 55 is not released.
- Confusion over which part of the program is responsible for releasing the resource.
Most unreleased resource issues result in general software reliability problems, but if an attacker can intentionally trigger a resource leak, the attacker may be
able to launch a denial of service attack by depleting the resource pool.
Example: Under normal conditions, the following code executes a database query, processes the results returned by the database, and closes the allocated
statement object. But if an exception occurs while executing the SQL or processing the results, the statement object will not be closed. If this happens often
enough, the database will run out of available cursors and not be able to execute any more SQL queries.
Recommendation
1. Never rely on finalize() to reclaim resources. In order for an object's finalize() method to be invoked, the garbage collector must determine
that the object is eligible for garbage collection. Because the garbage collector is not required to run unless the JVM is low on memory, there is no guarantee
that an object's finalize() method will be invoked in an expedient fashion. When the garbage collector finally does run, it may cause a large number of
resources to be reclaimed in a short period of time, which can lead to "bursty" performance and lower overall system throughput. This effect becomes more
pronounced as the load on the system increases.
Finally, if it is possible for a resource reclamation operation to hang (if it requires communicating over a network to a database, for example), then the thread
that is executing the finalize() method will hang.
2. Release resources in a finally block. The code for the Example should be rewritten as follows:
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 25
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
try {
stmt.close();
} catch (SQLException e) {
log(e);
}
}
}
This solution uses a helper function to log the exceptions that might occur when trying to close the statement. Presumably this helper function will be reused
whenever a statement needs to be closed.
Also, the execCxnSql method does not initialize the stmt object to null. Instead, it checks to ensure that stmt is not null before calling
safeClose(). Without the null check, the Java compiler reports that stmt might not be initialized. This choice takes advantage of Java's ability to
detect uninitialized variables. If stmt is initialized to null in a more complex method, cases in which stmt is used without being initialized will not be
detected by the compiler.
Instances
Unreleased Resource: Database High
Package: org.enhydra.instantdb.db
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 26
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
6.2.6 Unreleased Resource: Streams High
CWE ID 404
OWASP Top 10: None
PCI 3.0: Requirement 6.5.6
Summary
The function in sometimes fails to release a system resource allocated by on line .The program can potentially fail to release a system resource.
Explanation
The program can potentially fail to release a system resource.
In this case, there are program paths on which the resource allocated in BlobColumn.java at line 223 is not released.
- Confusion over which part of the program is responsible for releasing the resource.
Most unreleased resource issues result in general software reliability problems, but if an attacker can intentionally trigger a resource leak, the attacker may be
able to launch a denial of service attack by depleting the resource pool.
Example: The following method never closes the file handle it opens. The finalize() method for FileInputStream eventually calls close(), but
there is no guarantee as to how long it will take before the finalize() method will be invoked. In a busy environment, this can result in the JVM using up
all of its file handles.
Recommendation
1. Never rely on finalize() to reclaim resources. In order for an object's finalize() method to be invoked, the garbage collector must determine
that the object is eligible for garbage collection. Because the garbage collector is not required to run unless the JVM is low on memory, there is no guarantee
that an object's finalize() method will be invoked in an expedient fashion. When the garbage collector finally does run, it may cause a large number of
resources to be reclaimed in a short period of time, which can lead to "bursty" performance and lower overall system throughput. This effect becomes more
pronounced as the load on the system increases.
Finally, if it is possible for a resource reclamation operation to hang (if it requires communicating over a network to a database, for example), then the thread
that is executing the finalize() method will hang.
2. Release resources in a finally block. The code for the Example should be rewritten as follows:
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 27
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
safeClose(fis);
}
}
}
This solution uses a helper function to log the exceptions that might occur when trying to close the stream. Presumably this helper function will be reused
whenever a stream needs to be closed.
Also, the processFile method does not initialize the fis object to null. Instead, it checks to ensure that fis is not null before calling
safeClose(). Without the null check, the Java compiler reports that fis might not be initialized. This choice takes advantage of Java's ability to
detect uninitialized variables. If fis is initialized to null in a more complex method, cases in which fis is used without being initialized will not be
detected by the compiler.
Instances
Unreleased Resource: Streams High
Package: com.t_tank.j2h
Sink:com.t_tank.j2h.Java2Html.main
ID 10601933 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:523 controlflow
Enclosing Method:main
Sink:com.t_tank.j2h.Java2Html.initialize
ID 10601915 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:709 controlflow
Enclosing Method:initialize
Sink:com.t_tank.j2h.Java2Html.initialize
ID 10601898 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:679 controlflow
Enclosing Method:initialize
Sink:com.t_tank.j2h.Java2Html.initializeAPIClasses
ID 10601888 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:769 controlflow
Enclosing Method:initializeAPIClasses
Sink:com.t_tank.j2h.Java2Html.main
ID 10601879 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:522 controlflow
Enclosing Method:main
Sink:com.t_tank.j2h.Java2Html.initializeKeywords
ID 10601907 - WebContent/WEB-INF/lib/com/t_tank/j2h/Java2Html.java:751 controlflow
Enclosing Method:initializeKeywords
Package: org.enhydra.instantdb.db
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 28
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601901 - WebContent/WEB-INF/lib/org/enhydra/instantdb/db Sink:org.enhydra.instantdb.db.indexTable.close
controlflow
/indexTable.java:137 Enclosing Method:close
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 29
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
6.3.1 Cross-Site Request Forgery Low
CWE ID 352
OWASP Top 10: A8 Cross-Site Request Forgery (CSRF)
PCI 3.0: Requirement 6.5.9
Summary
The form post at line must contain a user-specific secret in order to prevent an attacker from making unauthorized requests.Form posts must contain a
user-specific secret in order to prevent an attacker from making unauthorized requests.
Explanation
A cross-site request forgery (CSRF) vulnerability occurs when:
1. A Web application uses session cookies.
2. The application acts on an HTTP request without verifying that the request was made with the user's consent.
In this case the application generates HTTP request via a form post at EditProfile.jsp line 10.
A nonce is a cryptographic random value that is sent with a message to prevent replay attacks. If the request does not contain a nonce that proves its
provenance, the code that handles the request is vulnerable to a CSRF attack (unless it does not change the state of the application). This means a Web
application that uses session cookies has to take special precautions in order to ensure that an attacker can't trick users into submitting bogus requests.
Imagine a Web application that allows administrators to create new accounts by submitting this form:
If an administrator for example.com visits the malicious page while she has an active session on the site, she will unwittingly create an account for the
attacker. This is a CSRF attack. It is possible because the application does not have a way to determine the provenance of the request. Any request could be a
legitimate action chosen by the user or a faked action set up by an attacker. The attacker does not get to see the Web page that the bogus request
generates, so the attack technique is only useful for requests that alter the state of the application.
Most Web browsers send an HTTP header named referer along with each request. The referer header is supposed to contain the URL of the referring
page, but attackers can forge it, so the referer header is not useful for determining the provenance of a request.
Applications that pass the session identifier in the URL rather than as a cookie do not have CSRF problems because there is no way for the attacker to access
the session identifier and include it as part of the bogus request.
Recommendation
Applications that use session cookies must include some piece of information in every form post that the back-end code can use to validate the provenance
of the request. One way to do that is to include a random request identifier or nonce, like this:
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 30
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, "/new_user");
body = addToPost(body, new_username);
body = addToPost(body, new_passwd);
body = addToPost(body, request_id);
rb.sendRequest(body, new NewAccountCallback(callback));
Then the back-end logic can validate the request identifier before processing the rest of the form data. When possible, the request identifier should be unique
to each server request rather than shared across every request for a particular session. As with session identifiers, the harder it is for an attacker to guess the
request identifier, the harder it is to conduct a successful CSRF attack. The token should not be easily guessed and it should be protected in the same way
that session tokens are protected, such as using SSLv3.
Framework protection: Most modern web application frameworks embed CSRF protection and they will automatically include and verify CSRF tokens.
Use a Challenge-Response control: Forcing the customer to respond to a challenge sent by the server is a strong defense against CSRF. Some of the
challenges that can be used for this purpose are: CAPTCHAs, password re-authentication and one-time tokens.
Check HTTP Referer/Origin headers: An attacked won't be able to spoof these headers while performing a CSRF attack. This makes these headers a useful
method to prevent CSRF attacks.
Double-submit Session Cookie: Sending the session ID Cookie as a hidden form value in addition to the actual session ID Cookie is a good protection against
CSRF attacks. The server will check both values and make sure they are identical before processing the rest of the form data. If an attacker submits a form in
behalf of a user, he won't be able to modify the session ID cookie value as per the same-origin-policy.
Limit Session Lifetime: When accessing protected resources using a CSRF attack, the attack will only be valid as long as the session ID sent as part of the
attack is still valid on the server. Limiting the Session lifetime will reduce the probability of a successful attack.
The techniques described here can be defeated with XSS attacks. Effective CSRF mitigation includes XSS mitigation techniques.
Instances
Cross-Site Request Forgery Low
Package: N/A
Sink: in EditProfile.jsp:10
ID 10601892 - WebContent/lessons/CrossSiteScripting/EditProfile.jsp:10 content
Enclosing Method:
Sink: in ListStaff.jsp:13
ID 10601981 - WebContent/lessons/CrossSiteScripting/ListStaff.jsp:13 content
Enclosing Method:
Sink: in Login.jsp:9
ID 10601876 - WebContent/lessons/CrossSiteScripting/Login.jsp:9 content
Enclosing Method:
Sink: in SearchStaff.jsp:15
ID 10601952 - WebContent/lessons/CrossSiteScripting/SearchStaff.jsp:15 content
Enclosing Method:
Sink: in ViewProfile.jsp:118
ID 10601821 - WebContent/lessons/CrossSiteScripting/ViewProfile.jsp:118 content
Enclosing Method:
Sink: in ViewProfile.jsp:130
ID 10601837 - WebContent/lessons/CrossSiteScripting/ViewProfile.jsp:130 content
Enclosing Method:
Sink: in ViewProfile.jsp:143
ID 10601891 - WebContent/lessons/CrossSiteScripting/ViewProfile.jsp:143 content
Enclosing Method:
Sink: in ViewProfile.jsp:153
ID 10601893 - WebContent/lessons/CrossSiteScripting/ViewProfile.jsp:153 content
Enclosing Method:
Sink: in EditProfile.jsp:10
ID 10601847 - WebContent/lessons/RoleBasedAccessControl/EditProfile .jsp:10 content
Enclosing Method:
Sink: in error.jsp:10
ID 10601900 - WebContent/lessons/RoleBasedAccessControl/error.jsp:10 content
Enclosing Method:
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 31
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Sink: in ListStaff.jsp:14
ID 10601979 - WebContent/lessons/RoleBasedAccessControl/ListStaff.jsp:14 content
Enclosing Method:
Sink: in Login.jsp:9
ID 10601852 - WebContent/lessons/RoleBasedAccessControl/Login.jsp:9 content
Enclosing Method:
Sink: in SearchStaff.jsp:15
ID 10601934 - WebContent/lessons/RoleBasedAccessControl/SearchStaff .jsp:15 content
Enclosing Method:
Sink: in ViewProfile.jsp:128
ID 10601854 - WebContent/lessons/RoleBasedAccessControl/ViewProfile .jsp:128 content
Enclosing Method:
Sink: in ViewProfile.jsp:116
ID 10601859 - WebContent/lessons/RoleBasedAccessControl/ViewProfile .jsp:116 content
Enclosing Method:
Sink: in ViewProfile.jsp:151
ID 10601831 - WebContent/lessons/RoleBasedAccessControl/ViewProfile .jsp:151 content
Enclosing Method:
Sink: in EditProfile.jsp:10
ID 10601894 - WebContent/lessons/SQLInjection/EditProfile.jsp:10 content
Enclosing Method:
Sink: in ListStaff.jsp:14
ID 10601980 - WebContent/lessons/SQLInjection/ListStaff.jsp:14 content
Enclosing Method:
Sink: in Login.jsp:9
ID 10601890 - WebContent/lessons/SQLInjection/Login.jsp:9 content
Enclosing Method:
Sink: in SearchStaff.jsp:15
ID 10601944 - WebContent/lessons/SQLInjection/SearchStaff.jsp:15 content
Enclosing Method:
Sink: in ViewProfile.jsp:138
ID 10601889 - WebContent/lessons/SQLInjection/ViewProfile.jsp:138 content
Enclosing Method:
Sink: in ViewProfile.jsp:148
ID 10601863 - WebContent/lessons/SQLInjection/ViewProfile.jsp:148 content
Enclosing Method:
Sink: in ViewProfile.jsp:112
ID 10601895 - WebContent/lessons/SQLInjection/ViewProfile.jsp:112 content
Enclosing Method:
Sink: in ViewProfile.jsp:125
ID 10601824 - WebContent/lessons/SQLInjection/ViewProfile.jsp:125 content
Enclosing Method:
Sink: in webgoat.jsp:74
ID 10601959 - WebContent/webgoat.jsp:74 content
Enclosing Method:
Sink: in webgoat_challenge.jsp:51
ID 10601864 - WebContent/webgoat_challenge.jsp:51 content
Enclosing Method:
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 32
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Traces
Below is an enumeration of all static issues with their stack trace sections.
WebContent/main.jsp:111-117
if (webSession.isAuthorizedInLesson(webSession.getRole(), WebSession.SHOWHINTS))
{
%>
<a href="attack?show=PreviousHint&menu=<%=menu%>" target="_top" onclick="MM_nbGroup('down','group1','hintLeft','',1)"
onmouseover="MM_nbGroup('over','hintLeft','images/buttons/hintLeftOver.jpg','',1)"
onmouseout="MM_nbGroup('out')">
<img src="images/buttons/hintLeft.jpg" alt="Previous Hint" name="hintLeft" width="22" height="20" border="0" id="hintLeft"/>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 33
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
main.jsp._jspService
getParameter(return)
Assignment to menu
print(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 34
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601899 - Cross-Site Scripting: Reflected Critical
WebContent/main.jsp:116-122
onmouseout="MM_nbGroup('out')">
<img src="images/buttons/hintLeft.jpg" alt="Previous Hint" name="hintLeft" width="22" height="20" border="0" id="hintLeft"/>
</a>
<a href="attack?show=NextHint&menu=<%=menu%>" target="_top" onclick="MM_nbGroup('down','group1','hint','',1)"
onmouseover="MM_nbGroup('over','hint','images/buttons/hintOver.jpg','',1)"
onmouseout="MM_nbGroup('out')">
<img src="images/buttons/hint.jpg" alt="Hints" name="hint" width="35" height="20" border="0" id="hint"/>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 35
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
main.jsp._jspService
getParameter(return)
Assignment to menu
print(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 36
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601920 - Cross-Site Scripting: Reflected Critical
WebContent/main.jsp:132-138
onmouseout="MM_nbGroup('out')">
<img src="images/buttons/params.jpg" alt="Show Params" name="attack?show=Params" width="92" height="20" border="0"
id="params"/>
</a>
<a href="attack?show=Cookies&menu=<%=menu%>" target="_top" onclick="MM_nbGroup('down','group1','cookies','',1)"
onmouseover="MM_nbGroup('over','cookies','images/buttons/cookiesOver.jpg','',1)"
onmouseout="MM_nbGroup('out')">
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 37
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
main.jsp._jspService
getParameter(return)
Assignment to menu
print(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 38
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601929 - Cross-Site Scripting: Reflected Critical
WebContent/main.jsp:121-127
onmouseout="MM_nbGroup('out')">
<img src="images/buttons/hint.jpg" alt="Hints" name="hint" width="35" height="20" border="0" id="hint"/>
</a>
<a href="attack?show=NextHint&menu=<%=menu%>" target="_top" onclick="MM_nbGroup('down','group1','hintRight','',1)"
onmouseover="MM_nbGroup('over','hintRight','images/buttons/hintRightOver.jpg','',1)"
onmouseout="MM_nbGroup('out')">
<img src="images/buttons/hintRight.jpg" alt="Next Hint" name="hintRight" width="20" height="20" border="0" id="hintRight"/>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 39
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
main.jsp._jspService
getParameter(return)
Assignment to menu
print(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 40
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601942 - Cross-Site Scripting: Reflected Critical
WebContent/main.jsp:127-133
<img src="images/buttons/hintRight.jpg" alt="Next Hint" name="hintRight" width="20" height="20" border="0" id="hintRight"/>
</a>
<%}%>
<a href="attack?show=Params&menu=<%=menu%>" target="_top" onclick="MM_nbGroup('down','group1','params','',1)"
onmouseover="MM_nbGroup('over','params','images/buttons/paramsOver.jpg','',1)"
onmouseout="MM_nbGroup('out')">
<img src="images/buttons/params.jpg" alt="Show Params" name="attack?show=Params" width="92" height="20" border="0"
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 41
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
main.jsp._jspService
getParameter(return)
Assignment to menu
print(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 42
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601866 - Cross-Site Scripting: Reflected Critical
WebContent/lessons/CrossSiteScripting/SearchStaff.jsp:8-14
if (searchedName != null)
{
%>
Employee <%=searchedName%> not found.
<%
}
%>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 43
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SearchStaff.jsp._jspService
getParameter(return)
Assignment to searchedName
print(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 44
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601867 - Cross-Site Scripting: Reflected Critical
WebContent/lessons/RoleBasedAccessControl/SearchStaff.jsp:8-14
if (searchedName != null)
{
%>
Employee <%=searchedName%> not found.
<%
}
%>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 45
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SearchStaff.jsp._jspService
getParameter(return)
Assignment to searchedName
print(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 46
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601911 - Cross-Site Scripting: Reflected Critical
WebContent/lessons/SQLInjection/SearchStaff.jsp:8-14
if (searchedName != null)
{
%>
Employee <%=searchedName%> not found.
<%
}
%>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 47
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SearchStaff.jsp._jspService
getParameter(return)
Assignment to searchedName
print(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 48
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601975 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 49
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
BlobColumn.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 50
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601935 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 51
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
BlobColumn.writeObject
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 52
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601871 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 53
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
BlobColumn.onClose BlobColumn.java
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 54
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601839 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 55
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
BlobColumn.BlobColumn
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 56
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601972 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 57
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
BlobColumn.deleteBlob
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 58
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601841 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 59
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
BlobColumn.getOffsetByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 60
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601951 - Null Dereference High
BlobColumn.java:152 - goto
BlobColumn.java:165 - Branch not taken: (<inline expression> !=
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 61
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
BlobColumn.extractBinaryNumbers BlobColumn.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 62
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601930 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 63
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ByteColumn.deleteBitSet
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 64
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601950 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 65
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ByteColumn.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 66
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601970 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 67
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Char1Column.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 68
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601939 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 69
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Char1Column.equalToRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 70
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601945 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 71
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Column.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 72
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601912 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 73
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Column.setRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 74
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601872 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 75
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Cursor.update
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 76
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601960 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 77
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.dbCreate
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 78
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601949 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 79
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.dbCreate
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 80
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601958 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 81
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.dbCreate
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 82
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601880 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 83
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.dbOpen
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 84
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601844 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 85
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.initialise
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 86
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601826 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 87
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.close
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 88
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601881 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 89
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.setPath
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 90
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601825 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 91
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.dbOpen
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 92
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601835 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 93
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.initialise
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 94
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601923 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 95
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.execSQL
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 96
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601850 - Null Dereference High
Database.java:1200 - goto
Database.java:1202 - Dereferenced : <inline expression>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 97
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.run Database.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 98
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601828 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 99
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.run Database.java
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 100
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601832 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 101
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.initialise
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 102
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601903 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 103
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
DateColumn.toDate
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 104
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601963 - Null Dereference High
DateColumn.java:367 - goto
DateColumn.java:370 - Dereferenced : <inline expression>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 105
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
DateColumn.toDate DateColumn.java
java.lang.Throwable thrown
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 106
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601927 - Null Dereference High
DateColumn.java:365 - goto
DateColumn.java:372 - goto
DateColumn.java:372 - Branch taken: (<inline expression> <
DateColumn.java:372 - goto
DateColumn.java:374 - Branch taken: (<inline expression> ==
DateColumn.java:374 - goto
DateColumn.java:377 - Dereferenced : <inline expression>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 107
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
DateColumn.toDate DateColumn.java
java.lang.Throwable thrown
goto
goto
goto
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 108
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601924 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 109
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
DateColumn.setFormatArray DateColumn.java
java.lang.Throwable thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 110
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601922 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 111
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
DateColumn.setFormatArray
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 112
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601925 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 113
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
DoubleColumn.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 114
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601877 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 115
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
expression.interpretColumn expression.java
Dereferenced : null
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 116
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601874 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 117
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
FileImporter.getFilePath
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 118
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601836 - Null Dereference High
FileImporter.java:319 - goto
FileImporter.java:325 - Branch taken: (<inline expression> !=
FileImporter.java:325 - goto
FileImporter.java:327 - Dereferenced : <inline expression>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 119
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
FileImporter.getNextRow FileImporter.java
goto
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 120
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601838 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 121
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
FloatColumn.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 122
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601917 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 123
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
idbConnection.idbConnection
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 124
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601843 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 125
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
idbDriver.<static>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 126
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601845 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 127
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
idbPreparedStatement.executeBatch
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 128
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601956 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 129
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
idbPreparedStatement.setAsciiStream
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 130
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601830 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 131
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
idbPreparedStatement.setAnyStream
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 132
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601954 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 133
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
idbResultsSet.updateCharacterStream
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 134
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601873 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 135
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
idbResultsSet.readFromStream
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 136
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601943 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 137
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
idbStatement.executeBatch
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 138
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601961 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 139
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
indexTable.indexTable
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 140
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601913 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 141
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
indexTable.bind
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 142
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601848 - Null Dereference High
indexTable.java:361 - goto
indexTable.java:362 - Branch not taken: (<inline
indexTable.java:364 - Branch not taken: (<inline
indexTable.java:369 - Branch not taken: (<inline
indexTable.java:371 - goto
indexTable.java:371 - Branch not taken: (<inline
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 143
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
indexTable.bind indexTable.java
goto
goto
Branch not taken: (<inline
expression>.rowDeleted(<inline expression>)
Branch not taken: (<inline
expression>.tblID.equals(<inline expression>)
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 144
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601846 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 145
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
indexTable.getColsFromNames indexTable.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 146
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601822 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 147
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
indexTable.indexTable
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 148
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601855 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 149
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
indexTable.bind indexTable.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 150
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601868 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 151
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
IntegerColumn.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 152
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601869 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 153
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
IntegerColumn.equalToRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 154
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601936 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 155
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.class$
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 156
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601974 - Null Dereference High
Java2Html.java:207 - goto
Java2Html.java:219 - goto
Java2Html.java:339 - goto
Java2Html.java:358 - Branch taken: (<inline expression> == 0)
Java2Html.java:358 - goto
Java2Html.java:360 - goto
Java2Html.java:366 - Branch not taken: (<inline expression> ==
Java2Html.java:366 - Branch not taken: (<inline expression> !=
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 157
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.generateHtml Java2Html.java
goto
goto
goto
goto
goto
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 158
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601953 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 159
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.main
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 160
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601973 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 161
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Journal.openLog
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 162
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601978 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 163
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Journal.closeLog
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 164
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601842 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 165
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Journal.updateTransactionCount
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 166
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601853 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 167
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Journal.rollback
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 168
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601928 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 169
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
LongColumn.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 170
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601962 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 171
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
LongColumn.equalToRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 172
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601931 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 173
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ReadAheadBuffer.readRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 174
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601819 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 175
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Search.evaluate Search.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 176
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601926 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 177
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.handleGroupBy
Dereferenced : <inline
expression>.groupTable
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 178
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601875 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 179
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.compile_select SQLProg.java
goto
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 180
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601860 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 181
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.execute
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 182
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601827 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 183
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.execute SQLProg.java
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 184
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601865 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 185
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.compile_import
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 186
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601820 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 187
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.compile_set
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 188
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601919 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 189
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.compile_alter_table
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 190
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601897 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 191
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.compile_create_table
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 192
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601885 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 193
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.execute SQLProg.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 194
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601861 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 195
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.compile_set
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 196
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601840 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 197
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.compile_select
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 198
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601976 - Null Dereference High
SQLProg.java:359 - goto
SQLProg.java:367 - Branch taken: (<inline
SQLProg.java:367 - goto
SQLProg.java:380 - Branch not taken: (<inline
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 199
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SQLProg.compile_alter_table SQLProg.java
goto
Branch taken: (<inline
expression>.matched.containsKey("add_col")
goto
Branch not taken: (<inline
expression>.matched.containsKey("alter_col")
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 200
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601971 - Null Dereference High
sqltoken.java:159 - goto
sqltoken.java:164 - Branch taken: (<inline expression>.type != 2)
sqltoken.java:164 - goto
sqltoken.java:179 - goto
sqltoken.java:186 - Branch taken: (<inline
sqltoken.java:186 - goto
sqltoken.java:194 - Branch taken: (<inline expression>.type != 4)
sqltoken.java:194 - goto
sqltoken.java:199 - Branch taken: (<inline
sqltoken.java:199 - goto
sqltoken.java:203 - Branch taken: (<inline
sqltoken.java:203 - goto
sqltoken.java:207 - Branch taken: (<inline
sqltoken.java:207 - goto
sqltoken.java:214 - Branch taken: (<inline
sqltoken.java:214 - goto
sqltoken.java:217 - Branch not taken: (<inline
sqltoken.java:217 - Branch not taken: (<inline expression> == 0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 201
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
sqltoken.setupToken sqltoken.java
goto
goto
goto
Branch taken: (<inline
expression>.lastIndexOf(<inline expression>)
goto
goto
goto
goto
goto
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 202
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601906 - Null Dereference High
sqltoken.java:159 - goto
sqltoken.java:164 - Branch taken: (<inline expression>.type != 2)
sqltoken.java:164 - goto
sqltoken.java:179 - goto
sqltoken.java:186 - Branch taken: (<inline
sqltoken.java:186 - goto
sqltoken.java:194 - Branch taken: (<inline expression>.type != 4)
sqltoken.java:194 - goto
sqltoken.java:199 - Branch taken: (<inline
sqltoken.java:199 - goto
sqltoken.java:203 - Branch taken: (<inline
sqltoken.java:203 - goto
sqltoken.java:207 - Branch taken: (<inline
sqltoken.java:207 - goto
sqltoken.java:214 - Branch taken: (<inline
sqltoken.java:214 - goto
sqltoken.java:217 - Branch taken: (<inline
sqltoken.java:217 - goto
sqltoken.java:219 - Branch not taken: (<inline
sqltoken.java:219 - Branch not taken: (<inline expression> == 0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 203
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
sqltoken.setupToken sqltoken.java
goto
goto
goto
Branch taken: (<inline
expression>.lastIndexOf(<inline expression>)
goto
goto
goto
goto
goto
goto
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 204
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601902 - Null Dereference High
sqltoken.java:293 - goto
sqltoken.java:300 - goto
sqltoken.java:312 - Dereferenced : <inline expression>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 205
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
sqltoken.matches sqltoken.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 206
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601886 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 207
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
StringColumn.getByRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 208
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601887 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 209
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
StringColumn.equalToRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 210
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601938 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 211
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.addRowAtRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 212
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601870 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 213
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.registerTable
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 214
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601862 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 215
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.rowToString
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 216
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601858 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 217
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.markDirty
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 218
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601856 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 219
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.recover Table.java
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 220
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601940 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 221
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.newColAdded
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 222
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601966 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 223
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.open
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 224
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601948 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 225
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.swap
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 226
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601829 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 227
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.recover Table.java
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 228
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601884 - Null Dereference High
Table.java:1630
Table.java:1632 -- Branch
goto taken: (<inline
Table.java:1632 - goto
Table.java:1638 - Dereferenced : <inline expression>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 229
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.addOrderedField Table.java
goto
goto
goto
Branch taken: (<inline
expression>.equalsIgnoreCase(<inline
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 230
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601969 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 231
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.addRowAtRow Table.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 232
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601977 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 233
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.lt
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 234
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601857 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 235
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.addOrderedField Table.java
goto
goto
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 236
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601918 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 237
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.saveRowCounts
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 238
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601947 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 239
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.deleteRow
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 240
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601883 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 241
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
TableLock.freeWriteLock
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 242
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601916 - Null Dereference High
tokenList.java:202 - goto
tokenList.java:206 - goto
tokenList.java:208 - goto
tokenList.java:232 - goto
tokenList.java:237 - Dereferenced : <inline
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 243
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
tokenList.parseTokens tokenList.java
goto
goto
goto
goto
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 244
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601896 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 245
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
tokenList.parseTokens
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 246
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601957 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 247
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Trace.setExport
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 248
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601968 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 249
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Transaction.prepare
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 250
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601914 - Null Dereference High
Transaction.java:165 - goto
Transaction.java:173 - Dereferenced : <inline expression>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 251
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Transaction.complete Transaction.java
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 252
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601932 - Null Dereference High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 253
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Transaction.complete Transaction.java
{?} thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 254
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601964 - Open Redirect High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 255
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
config.jsp._jspService
getParameter(return)
sendRedirect(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 256
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601965 - Open Redirect High
WebContent/lessons/ConfManagement/config.jsp:9-15
<body>
<% response.sendRedirect("/WebGoat/attack?" +
"Screen=" + request.getParameter("Screen") +
"&menu=" + request.getParameter("menu") +
"&succeeded=yes");
%>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 257
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
config.jsp._jspService
getParameter(return)
sendRedirect(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 258
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601910 - Open Redirect High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 259
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
redirect.jsp._jspService
getParameter(return)
sendRedirect(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 260
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601882 - Open Redirect High
WebContent/lessons/General/redirect.jsp:9-15
<body>
<% response.sendRedirect("/WebGoat/attack?" +
"Screen=" + request.getParameter("Screen") +
"&menu=" + request.getParameter("menu") +
"&fromRedirect=yes&language=" + request.getParameter("language"));
%>
</body>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 261
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
redirect.jsp._jspService
getParameter(return)
sendRedirect(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 262
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601941 - Open Redirect High
WebContent/lessons/General/redirect.jsp:9-15
<body>
<% response.sendRedirect("/WebGoat/attack?" +
"Screen=" + request.getParameter("Screen") +
"&menu=" + request.getParameter("menu") +
"&fromRedirect=yes&language=" + request.getParameter("language"));
%>
</body>
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 263
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
redirect.jsp._jspService
getParameter(return)
sendRedirect(0)
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 264
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601904 - Password Management: Empty Password High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 265
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.java
FieldAccess: defaultPassword
Field: defaultPassword
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 266
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601851 - Password Management: Password in Configuration File High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 267
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
server-config.wsdd
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 268
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601849 - Unreleased Resource: Database High
JdbcImporter.java:54 - goto
JdbcImporter.java:60 - <inline
JdbcImporter.java:60 - <inline expression>.stmt refers to a
JdbcImporter.java:61 - <inline
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 269
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
JdbcImporter.java JdbcImporter.JdbcImporter
getConnection(...)
goto
<inline expression>.con.createStatement()
<inline expression>.stmt.executeQuery(...)
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 270
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601823 - Unreleased Resource: Database High
JdbcImporter.java:54 - goto
JdbcImporter.java:60 - null thrown
JdbcImporter.java:60 - throw
JdbcImporter.java:60 - <inline expression>.con no longer refers
JdbcImporter.java:60 - <inline expression> no longer refers to a
JdbcImporter.java:60 - end scope : Database resource leaked :
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 271
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
JdbcImporter.java JdbcImporter.JdbcImporter
getConnection(...)
goto
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 272
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601818 - Unreleased Resource: Database High
JdbcImporter.java:54 - goto
JdbcImporter.java:60 - <inline
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 273
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
JdbcImporter.java JdbcImporter.JdbcImporter
getConnection(...)
goto
<inline expression>.con.createStatement()
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 274
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601955 - Unreleased Resource: Streams High
BlobColumn.java:208 - goto
BlobColumn.java:223 - new FileInputStream(...)
BlobColumn.java:223 - <inline expression> refers to an allocated
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 275
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
BlobColumn.java BlobColumn.toObject
goto
goto
new FileInputStream(...)
{?} thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 276
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601834 - Unreleased Resource: Streams High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 277
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Database.java Database.initialise
goto
goto
new FileInputStream(...)
new BufferedInputStream(<inline
expression>)
<inline expression> refers to an allocated
resource
<inline expression> no longer refers to an
allocated resource
<inline expression> no longer refers to an
allocated resource
<inline expression> no longer refers to an
allocated resource
<inline expression> no longer refers to an
allocated resource
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 278
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601946 - Unreleased Resource: Streams High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 279
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
FileImporter.java FileImporter.FileImporter
new FileReader(...)
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 280
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601937 - Unreleased Resource: Streams High
FileImporter.java:109 - goto
FileImporter.java:110 - Branch not taken: (<inline expression>
FileImporter.java:110 - Branch not taken: (<inline expression>
FileImporter.java:111 - throw
FileImporter.java:111 - <inline expression>.dataSource no longer
FileImporter.java:111 - <inline expression> no longer refers to an
FileImporter.java:111 - <inline expression> no longer refers to an
FileImporter.java:111 - <inline expression> no longer refers to an
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 281
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
FileImporter.java FileImporter.FileImporter
goto
new FileReader(...)
goto
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 282
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601901 - Unreleased Resource: Streams High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 283
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
indexTable.java indexTable.close
goto
new ReadAheadBuffer(...)
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 284
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601908 - Unreleased Resource: Streams High
indexTable.java:288 - goto
indexTable.java:290 - new FileInputStream(...)
indexTable.java:290 - <inline expression> refers to an allocated
indexTable.java:291 - new BufferedInputStream(<inline
indexTable.java:291 - <inline expression> refers to an allocated
indexTable.java:292 - new DataInputStream(<inline
indexTable.java:292 - <inline expression> refers to an allocated
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 285
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
indexTable.java indexTable.indexTable
goto
goto
goto
new FileInputStream(...)
new BufferedInputStream(<inline
expression>)
<inline expression> refers to an allocated
resource
{?} thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 286
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601879 - Unreleased Resource: Streams High
Java2Html.java:515 - goto
Java2Html.java:522 - new FileInputStream(...)
Java2Html.java:522 - <inline expression> refers to an allocated
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 287
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.java Java2Html.main
goto
goto
new FileInputStream(...)
java.lang.Throwable thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 288
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601888 - Unreleased Resource: Streams High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 289
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.java Java2Html.initializeAPIClasses
goto
new FileOutputStream(...)
new ObjectOutputStream(<inline
expression>)
<inline expression> refers to an allocated
resource
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 290
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601898 - Unreleased Resource: Streams High
Java2Html.java:675 - getResourceAsStream(...)
Java2Html.java:675 - <inline expression> refers to an allocated
Java2Html.java:677 - Branch not taken: (<inline expression> !=
Java2Html.java:679 - new ObjectInputStream(<inline
Java2Html.java:679 - <inline expression> refers to an allocated
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 291
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.java Java2Html.initialize
goto
getResourceAsStream(...)
{?} thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 292
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601907 - Unreleased Resource: Streams High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 293
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.java Java2Html.initializeKeywords
goto
new FileOutputStream(...)
new ObjectOutputStream(<inline
expression>)
<inline expression> refers to an allocated
resource
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 294
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601915 - Unreleased Resource: Streams High
Java2Html.java:677 - goto
Java2Html.java:687 - goto
Java2Html.java:699 - goto
Java2Html.java:705 - getResourceAsStream(...)
Java2Html.java:705 - <inline expression> refers to an allocated
Java2Html.java:707 - Branch not taken: (<inline expression> !=
Java2Html.java:709 - new ObjectInputStream(<inline
Java2Html.java:709 - <inline expression> refers to an allocated
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 295
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.java Java2Html.initialize
goto
goto
goto
goto
getResourceAsStream(...)
{?} thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 296
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601933 - Unreleased Resource: Streams High
Java2Html.java:515 - goto
Java2Html.java:523 - new FileOutputStream(...)
Java2Html.java:523 - <inline expression> refers to an allocated
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 297
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Java2Html.java Java2Html.main
goto
goto
new FileOutputStream(...)
java.lang.Throwable thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 298
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601909 - Unreleased Resource: Streams High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 299
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ReadAheadBuffer.ReadAheadBuffer ReadAheadBuffer.java
new RandomAccessFile(...)
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 300
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601905 - Unreleased Resource: Streams High
Table.java:489 - goto
Table.java:491 - goto
Table.java:498 - Branch not taken: (<inline
Table.java:498 - goto
Table.java:504 - null thrown
Table.java:504 - throw
Table.java:504 - <inline expression>.rndFile no longer refers to
Table.java:504 - <inline expression> no longer refers to an
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 301
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.java Table.open
goto
goto
goto
new ReadAheadBuffer(...)
goto
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 302
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601921 - Unreleased Resource: Streams High
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 303
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.java Table.markDirty
goto
new ReadAheadBuffer(...)
java.lang.Throwable thrown
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 304
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601833 - Unreleased Resource: Streams High
Table.java:489 - goto
Table.java:491 - goto
Table.java:498 - Branch taken: (<inline
Table.java:498 - goto
Table.java:501 - new ReadAheadBuffer(...)
Table.java:501 - <inline expression>.rndFile refers to an
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 305
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.java Table.open
goto
goto
goto
goto
new ReadAheadBuffer(...)
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 306
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601878 - Unreleased Resource: Streams High
Table.java:158 - goto
Table.java:167 - Branch not taken: (<inline expression> != null)
Table.java:170 - Branch taken: (<inline expression>.tableType !=
Table.java:170 - goto
Table.java:173 - goto
Table.java:174 - new ReadAheadBuffer(...)
Table.java:174 - <inline expression>.rndFile refers to an
Table.java:175 - goto
Table.java:178 - null thrown
Table.java:178 - throw
Table.java:178 - <inline expression>.rndFile no longer refers to
Table.java:178 - <inline expression> no longer refers to an
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 307
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Table.java Table.construct
goto
goto
goto
goto
new ReadAheadBuffer(...)
goto
null thrown
throw
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 308
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601892 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 309
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
EditProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 310
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601894 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 311
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
EditProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 312
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601847 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 313
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
EditProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 314
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601900 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 315
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
error.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 316
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601980 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 317
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ListStaff.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 318
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601979 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 319
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ListStaff.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 320
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601981 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 321
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ListStaff.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 322
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601876 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 323
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Login.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 324
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601890 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 325
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Login.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 326
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601852 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 327
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
Login.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 328
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601944 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 329
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SearchStaff.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 330
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601934 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 331
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SearchStaff.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 332
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601952 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 333
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
SearchStaff.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 334
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601889 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 335
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 336
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601837 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 337
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 338
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601854 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 339
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 340
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601859 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 341
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 342
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601831 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 343
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 344
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601821 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 345
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 346
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601891 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 347
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 348
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601863 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 349
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 350
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601895 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 351
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 352
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601893 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 353
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 354
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601824 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 355
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
ViewProfile.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 356
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601959 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 357
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
webgoat.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 358
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
ID 10601864 - Cross-Site Request Forgery Low
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 359
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Analysis Trace Diagram
webgoat_challenge.jsp
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 360
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Static File Listing
The static file listing displays all files scanned by the SCA scanner.
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 367
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Appendix - Descriptions of Key Terminology
Security Rating
The Fortify 5-star assessment rating provides information on the likelihood and impact of defects present within an application. A perfect rating
within this system would be 5 complete stars indicating that no high impact vulnerabilities were uncovered.
Rating
Fortify awards one star to projects that undergo a Fortify security review, which analyzes a project for a variety of
software security vulnerabilities.
Fortify awards two stars to projects that undergo a Fortify security review that identifies no high likelihood / high
impact issues. Vulnerabilities that are trivial to exploit and have a high business or technical impact should never
exist in business-critical software.
Fortify awards three stars to projects that undergo a Fortify security review that identifies no low likelihood / high
impact issues and meets the requirements needed to receive two stars. Vulnerabilities that have a high impact, even
if they are non-trivial to exploit, should never exist in business critical software.
Fortify awards four stars to projects that undergo a Fortify security review that identifies no high likelihood / low
impact issues and meets the requirements for three stars. Vulnerabilities that have a low impact, but are easy to
exploit, should be considered carefully as they may pose a greater threat if an attacker exploits many of them as
part of a concerted effort or leverages a low impact vulnerability as a stepping stone to mount a high-impact attack.
Fortify awards five stars to projects that undergo a Fortify security review that identifies no issues.
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 368
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.
Medium
Medium-priority issues have low impact and high likelihood. Medium-priority issues are easy to detect and exploit, but typically result in small asset
damage.
These issues represent a moderate security risk to the application. Medium-priority issues should be remediated in the next scheduled product
Low
Low-priority issues have low impact and low likelihood. Low-priority issues can be difficult to detect and exploit and typically result in small asset
damage.
These issues represent a minor security risk to the application. Low priority issues should be remediated as time allows.
Issue Status
New
New issues are ones that have been identified for the first time in the most recent analysis of the application.
Existing
Existing issues are issues that have been found in a previous analysis of the application and are still present in the latest analysis.
Reopened
Reopened issues have been discovered in a previous analysis of the application but were not present in subsequent analyses. These issues are now
present again in the most recent analysis of the application.
This report contains HPE CONFIDENTIAL information, including but not limited to HPE's analysis, techniques for 369
analysis and recommendations. This report may not be made public, used for competitive or consulting purposes or used outside of the recipient.