AAE Client 11.3.4 Veracode Report
AAE Client 11.3.4 Veracode Report
While every precaution has been taken in the preparation of this document, Veracode, Inc. assumes no responsibility for errors, omissions, or for
damages resulting from the use of the information herein. The Veracode platform uses static and/or dynamic analysis techniques to discover
potentially exploitable flaws. Due to the nature of software security testing, the lack of discoverable flaws does not mean the software is 100%
secure.
Executive Summary
This report contains a summary of the security flaws identified in the application using manual penetration testing, automated static
and/or automated dynamic security analysis techniques. This is useful for understanding the overall security quality of an individual
application or for comparisons between applications.
Application Business Criticality: BC5 (Very High) Summary of Flaws Found by Severity
Impacts:Operational Risk (High), Financial Loss (High)
An application's business criticality is determined by business
risk factors such as: reputation damage, financial loss,
operational risk, sensitive information disclosure, personal safety,
and legal violations. The Veracode Level and required
assessment techniques are selected based on the policy
assigned to the application.
Analyses Performed vs. Required
Manual Penetration
Dynamic
Static
Test
Any
Performed:
Required:
Action Items:
Veracode recommends the following approaches ranging from the most basic to the strong security measures that a vendor can
undertake to increase the overall security level of the application.
Required Analysis
Your policy requires Manual Penetration Test but it has not been performed. Please submit your application for Manual
Penetration Test and remediate the required detected flaws to conform to your assigned policy.
Your policy requires periodic Static Scan. Your next analysis must be completed by 3/4/20. Please submit your application
for Static Scan by the deadline and remediate the required detected flaws to conform to your assigned policy.
Flaw Severities
Medium severity flaws and above must be fixed for policy compliance.
The following modules were not selected for a full scan. Code paths in these modules that are not called from a scanned module are
not included in this report.
Module Name Compiler Operating Environment Engine
Version
AForge.dll MSIL_MSVC8_X86 Win32 2019110817
4706
AForge.Imaging.dll MSIL_MSVC8_X86 Win32 2019110817
4706
at386.dll MSVC9_X86 Win32 2019110817
4706
attach.dll MSVC10_X86 Win32 2019110817
4706
AutoMapper.dll MSIL_MSVC14_X86 Win32 2019110817
4706
AxInterop.TTW4AXLib.dll MSIL_MSVC11_X86 Win32 2019110817
4706
AxInterop.WFICALib.dll MSIL_MSVC11_X86 Win32 2019110817
4706
BCProv.JDK15on.dll MSIL_MSVC8_X86 Win32 2019110817
4706
BouncyCastle.OpenPgp.dll MSIL_MSVC11_X86 Win32 2019110817
4706
Commons.Logging.dll MSIL_MSVC8_X86 Win32 2019110817
4706
Cybele.TNBridge.dll BORLAND_DELPHI Win32 2019110817
4706
DevExpress.Charts.v14.1.Core.dll MSIL_MSVC11_X86 Win32 2019110817
4706
High 0*
Medium 0*
Low 12*
Code Quality 6
Information Leakage 6*
Very Low 0
Informational 0
Total 12*
Policy Evaluation
Policy Name: Veracode Recommended Very High
Revision: 1
Description
Veracode provides default policies to make it easier for organizations to begin measuring their applications against policies. Veracode
Recommended Policies are available for customers as an option when they are ready to move beyond the initial bar set by the
Veracode Transitional Policies. The policies are based on the Veracode Level definitions.
Rules
Rule type Requirement Findings Status
Minimum Veracode Level VL5 VL5* Passed
(VL5) Min Analysis Score 90 98* Passed
(VL5) Max Severity Medium Flaws found: 0* Passed
* - Reflects violated rules that have mitigated flaws
Unsupported Frameworks
This report may have incomplete results based on the following unsupported frameworks identified during the static scan:
* AutoMapper
The lack of support for all frameworks in use by this application and/or its supporting libraries may prevent the static discovery of some
flaws in the application, however, it does not invalidate the flaws that were found.
Description
Code quality issues stem from failure to follow good coding practices and can lead to unpredictable behavior. These may
include but are not limited to:
* Neglecting to remove debug code or dead code
* Improper resource management, such as using a pointer after it has been freed
* Using the incorrect operator to compare objects
* Failing to follow an API or framework specification
* Using a language feature or API in an unintended manner
While code quality flaws are generally less severe than other categories and usually are not directly exploitable, they may
serve as indicators that developers are not following practices that increase the reliability and security of an application. For
an attacker, code quality issues may provide an opportunity to stress the application in unexpected ways.
Recommendations
The wide variance of code quality issues makes it impractical to generalize how these issues should be addressed. Refer to
individual categories for specific recommendations.
Description
The application fails to release (or incorrectly releases) a system resource before it is made available for re-use. This
condition often occurs with resources such as database connections or file handles. Most unreleased resource issues
result in general software reliability problems, but if an attacker can intentionally trigger a resource leak, it may be
possible to launch a denial of service attack by depleting the resource pool.
Effort to Fix: 2 - Implementation error. Fix is approx. 6-50 lines of code. 1 day to fix.
Recommendations
When a resource is created or allocated, the developer is responsible for properly releasing the resource as well as
accounting for all potential paths of expiration or invalidation. Ensure that all code paths properly release resources.
Description
An information leak is the intentional or unintentional disclosure of information that is either regarded as sensitive within the
product's own functionality or provides information about the product or its environment that could be useful in an attack.
Information leakage issues are commonly overlooked because they cannot be used to directly exploit the application.
However, information leaks should be viewed as building blocks that an attacker uses to carry out other, more complicated
attacks.
There are many different types of problems that involve information leaks, with severities that can range widely depending on
the type of information leaked and the context of the information with respect to the application. Common sources of
information leakage include, but are not limited to:
* Source code disclosure
* Browsable directories
* Log files or backup files in web-accessible directories
* Unfiltered backend error messages
* Exception stack traces
* Server version information
* Transmission of uninitialized memory containing sensitive data
Recommendations
Configure applications and servers to return generic error messages and to suppress stack traces from being displayed to end
users. Ensure that errors generated by the application do not provide insight into specific backend issues.
Remove all backup files, binary archives, alternate versions of files, and test files from web-accessible directories of production
servers. The only files that should be present in the application's web document root are files required by the application.
Ensure that deployment procedures include the removal of these file types by an administrator. Keep web and application
servers fully patched to minimize exposure to publicly-disclosed information leakage vulnerabilities.
Description
Sensitive information may be exposed as a result of outbound network connections made by the application.
Effort to Fix: 2 - Implementation error. Fix is approx. 6-50 lines of code. 1 day to fix.
Recommendations
Ensure that the transfer of sensitive data is intended and that it does not violate application security policy or user
expectations.
Info (0 flaws)
No flaws of this type were found
Policy constraints
Policies have three main constraints that can be applied: rules, required scans, and remediation grace periods.
Not assessed The application has not yet had a scan published
Passed The application has passed all the aspects of the policy, including rules, required scans, and grace period.
Did not pass The application has not completed all required scans; has not achieved the target Veracode Level; or has one or
more policy relevant flaws that have exceeded the grace period to fix.
Conditional pass The application has one or more policy relevant flaws that have not yet exceeded the grace period to fix.
There are five Veracode Levels denoted as VL1, VL2, VL3, VL4, and VL5. VL1 is the lowest level and is achieved by demonstrating
that security testing, automated static or dynamic, is utilized during the SDLC. VL5 is the highest level and is achieved by performing
automated and manual testing and removing all significant flaws. The Veracode Levels VL2, VL3, and VL4 form a continuum of
increasing software assurance between VL1 and VL5.
For IT staff operating applications, Veracode Levels can be used to set application security policies. For deployment scenarios of
different business criticality, differing VLs should be made requirements. For example, the policy for applications that handle credit card
transactions, and therefore have PCI compliance requirements, should be VL5. A medium business criticality internal application could
have a policy requiring VL3.
Software developers can decide which VL they want to achieve based on the requirements of their customers. Developers of software
that is mission critical to most of their customers will want to achieve VL5. Developers of general purpose business software may want
to achieve VL3 or VL4. Once the software has achieved a Veracode Level it can be communicated to customers through a Veracode
Report or through the Veracode Directory on the Veracode web site.
Veracode Level Flaw Severities Not Allowed Testing Required* Minimum Score
When multiple testing techniques are used it is likely that not all testing will be performed on the exact same build. If that is the
case the latest test results from a particular technique will be used to calculate the current Veracode Level. After 6 months test
results will be deemed out of date and will no longer be used to calculate the current Veracode Level.
Business Criticality
The foundation of the Veracode rating system is the concept that more critical applications require higher security quality scores to be
acceptable risks. Less business critical applications can tolerate lower security quality. The business criticality is dictated by the typical
deployed environment and the value of data used by the application. Factors that determine business criticality are: reputation damage,
financial loss, operational risk, sensitive information disclosure, personal safety, and legal violations.
Very High Mission critical for business/safety of life and limb on the line
High Exploitation causes serious brand damage and financial loss with long term business impact
Medium Applications connected to the internet that process financial or private customer information
in some financial loss, brand damage or business liability. An example is a financial services company's internal 401K
management system.
Low (BC2) This is typically an internal only application that requires low levels of application security such as authentication to
protect access to non-critical business information and prevent IT disruptions. Exploitation of low criticality applications may
lead to minor levels of inconvenience, distress or IT disruption. An example internal system is a conference room reservation
or business card order system.
Very Low (BC1) Applications that have no material business impact should its confidentiality, data integrity and availability be
affected. Code security analysis is not required for applications at this business criticality, and security spending should be
directed to other higher criticality applications.
Scoring Methodology
The Veracode scoring system, Security Quality Score, is built on the foundation of two industry standards, the Common Weakness
Enumeration (CWE) and Common Vulnerability Scoring System (CVSS). CWE provides the dictionary of security flaws and CVSS
provides the foundation for computing severity, based on the potential Confidentiality, Integrity and Availability impact of a flaw if
exploited.
The Security Quality Score is a single score from 0 to 100, where 0 is the most insecure application and 100 is an application with no
detectable security flaws. The score calculation includes non-linear factors so that, for instance, a single Severity 5 flaw is weighted
more heavily than five Severity 1 flaws, and so that each additional flaw at a given severity contributes progressively less to the score.
Veracode assigns a severity level to each flaw type based on three foundational application security requirements — Confidentiality,
Integrity and Availability. Each of the severity levels reflects the potential business impact if a security breach occurs across one or
more of these security dimensions.
Confidentiality Impact
According to CVSS, this metric measures the impact on confidentiality if a exploit should occur using the vulnerability on the
target system. At the weakness level, the scope of the Confidentiality in this model is within an application and is measured at
three levels of impact -None, Partial and Complete.
Integrity Impact
This metric measures the potential impact on integrity of the application being analyzed. Integrity refers to the trustworthiness
and guaranteed veracity of information within the application. Integrity measures are meant to protect data from unauthorized
modification. When the integrity of a system is sound, it is fully proof from unauthorized modification of its contents.
Availability Impact
This metric measures the potential impact on availability if a successful exploit of the vulnerability is carried out on a target
application. Availability refers to the accessibility of information resources. Almost exclusive to this domain are denial-of-
service vulnerabilities. Attacks that compromise authentication and authorization for application access, application memory,
and administrative privileges are examples of impact on the availability of an application.
The Raw Score formula puts weights on each flaw based on its impact level. These weights are exponential and determined by
empirical analysis by Veracode's application security experts with validation from industry experts. The score is normalized to a scale of
0 to 100, where a score of 100 is an application with 0 detected flaws using the analysis technique for the application's business
criticality.
or ease with which a flaw can be exploited. A high severity flaw with a high likelihood of being exploited by an attacker is potentially
more dangerous than a high severity flaw with a low likelihood of being exploited.
Remediation effort, also called Complexity of Fix, is a measure of the likely effort required to fix a flaw. Together with severity, the
remediation effort is used to give Fix First guidance to the developer.
Severity Description
The offending line or lines of code is a very serious weakness and is an easy target for an
Very High
attacker. The code should be modified immediately to avoid potential attacks.
The offending line or lines of code have significant weakness, and the code should be
High
modified immediately to avoid potential attacks.
A weakness of average severity. These should be fixed in high assurance software. A fix for
Medium this weakness should be considered after fixing the very high and high for medium
assurance software.
This is a low priority weakness that will have a small impact on the security of the software.
Low Fixing should be consideration for high assurance software. Medium and low assurance
software can ignore these flaws.
Minor problems that some high assurance software may want to be aware of. These flaws
Very Low
can be safely ignored in medium and low assurance software.
Issues that have no impact on the security quality of the application but which may be of
Informational
interest to the reviewer.
Informational findings
Informational severity findings are items observed in the analysis of the application that have no impact on the security quality
of the application but may be interesting to the reviewer for other reasons. These findings may include code quality issues, API
usage, and other factors.
Informational severity findings have no impact on the security quality score of the application and are not included in the
summary tables of flaws for the application.
Exploitability
Each flaw instance in a static scan may receive an exploitability rating. The rating is an indication of the intrinsic likelihood that the flaw
may be exploited by an attacker. Veracode recommends that the exploitability rating be used to prioritize flaw remediation within a
particular group of flaws with the same severity and difficulty of fix classification.
Exploitability Description
Exploitability Description
Note: All reported flaws found via dynamic scans are assumed to be exploitable, because the dynamic scan actually executes
the attack in question and verifies that it is valid.
Effort/Complexity of Fix
Each flaw instance receives an effort/complexity of fix rating based on the classification of the flaw. The effort/complexity of fix
rating is given on a scale of 1 to 5, as follows:
3 Complex implementation error. Fix is approx. 51-500 lines of code. Up to 5 days to fix.
1 Trivial implementation error. Fix is up to 5 lines of code. One hour or less to fix.
Flaws by Severity
The flaws by severity chart shows the distribution of flaws by severity. An application can get a mediocre security rating by having a few
high risk flaws or many medium risk flaws.
The score impact represents the amount that the application score would increase if all the flaws in the shared dependency module
were fixed. This information can be used to focus remediation efforts on common modules with a higher impact on the application
security score.
Only common modules that were uploaded with debug information are included in the Flaws in Common Modules listing.
Action Items
The Action Items section of the report provides guidance on the steps required to bring the application to a state where it passes its
assigned policy. These steps may include fixing or mitigating flaws or performing additional scans. The section also includes best
practice recommendations to improve the security quality of the application.
A manual penetration assessment is conducted to observe the application code in a run-time environment and to simulate real-world
attack scenarios. Manual testing is able to identify design flaws, evaluate environmental conditions, compound multiple lower risk flaws
into higher risk vulnerabilities, and determine if identified flaws affect the confidentiality, integrity, or availability of the application.
Objectives
The stated objectives of a manual penetration assessment are:
• Perform testing, using proprietary and/or public tools, to determine whether it is possible for an attacker to:
• Circumvent authentication and authorization mechanisms
• Escalate application user privileges
• Hijack accounts belonging to other users
• Violate access controls placed by the site administrator
• Alter data or data presentation
• Corrupt application and data integrity, functionality and performance
• Circumvent application business logic
• Circumvent application session management
• Break or analyze use of cryptography within user accessible components
• Determine possible extent access or impact to the system by attempting to exploit vulnerabilities
• Score vulnerabilities using the Common Vulnerability Scoring System (CVSS)
• Provide tactical recommendations to address security issues of immediate consequence
Provide strategic recommendations to enhance security by leveraging industry best practices
Attack vectors
In order to achieve the stated objectives, the following tests are performed as part of the manual penetration assessment,
when applicable to the platforms and technologies in use:
• Cookie Analysis
• Server Side Includes Injection
• Remote File Inclusion
• LDAP Injection
• XPATH Injection
• Internationalization attacks
• Denial of Service testing at the application layer only
• AJAX Endpoint Analysis
• Web Services Endpoint Analysis
• HTTP Method Analysis
• SSL Certificate and Cipher Strength Analysis
• Forced Browsing
Abuse of Functionality
Exploitation of business logic errors or misappropriation of programmatic resources. Application functions are developed to
specifications with particular intentions, and these types of attacks serve to undermine those intentions.
Examples:
Spoofing
Impersonation of entities or trusted resources. A successful attack will present itself to a verifying entity with an acceptable
level of authenticity.
Examples:
Probabilistic Techniques
Using predictive capabilities or exhaustive search techniques in order to derive or manipulate sensitive information. Attacks
capitalize on the availability of computing resources or the lack of entropy within targeted components.
Examples:
Exploitation of Authentication
Circumventing authentication requirements to access protected resources. Design or implementation flaws may allow
authentication checks to be ignored, delegated, or bypassed.
Examples:
Resource Depletion
Affecting the availability of application components or resources through symmetric or asymmetric consumption. Unrestricted
access to computationally expensive functions or implementation flaws that affect the stability of the application can be
targeted by an attacker in order to cause denial of service conditions.
Examples:
• Flooding attacks
• Unlimited file upload size
• Memory leaks
Exploitation of Privilege/Trust
Undermining the application's trust model in order to gain access to protected resources or gain additional levels of access as
defined by the application. Applications that implicitly extend trust to resources or entities outside of their direct control are
susceptible to attack.
Examples:
Injection
Inserting unexpected inputs to manipulate control flow or alter normal business processing. Applications must contain
sufficient data validation checks in order to sanitize tainted data and prevent malicious, external control over internal
processing.
Examples:
• SQL Injection
• Cross-site scripting
• XML Injection
Examples:
• Buffer overflow
• Integer overflow
• Format string overflow
Examples:
Resource Manipulation
Manipulating application dependencies or accessed resources in order to undermine security controls and gain unauthorized
access to protected resources. Applications may use tainted data when constructing paths to local resources or when
constructing processing environments.
Examples:
Examples:
Terms of Use
Use and distribution of this report are governed by the agreement between Veracode and its customer. In particular, this report and the
results in the report cannot be used publicly in connection with Veracode’s name without written permission.
Approve Mitigation (Automation Anywhere): Promoted from Sandbox - Reviewed and approved.
Approve Mitigation (Automation Anywhere): Reviewed and approved. Followup required in the next
release to confirm.
Remaining Risk : Minimal. Since only selected files can be specified and succeed, the only way to subvert
this is to replace the (paths and names are undisclosed) whitelisted files with malware. If the attacker can
do that, the system is already fully compromised.
Verification : Make the API calls for setting windows hooks from other sources. Use:
valid path+invalid filename,
invalid path+valid filename,
blank or null path+filename and
valid path+blank or null fliename.
Validate paths for length (must be greater than 5 character and less that 255 characters).
Validate filenames for length and extension (must be at least 5 characters long, and cannot be longer
than 255 characters).
Use invalid characters in paths and file names to assure that behavior is uniform.
Validate paths for length (must be greater than 5 character and less that 255 characters).
Validate filenames for length and extension (must be at least 5 characters long, and cannot be longer
than 255 characters).
Use invalid characters in paths and file names to assure that behavior is uniform.
Remaining Risk : Minimal. Since only selected files can be specified and succeed, the only way to subvert
this is to replace the (paths and names are undisclosed) whitelisted files with malware. If the attacker can
do that, the system is already fully compromised.
Verification : Make the API calls for setting windows hooks from other sources. Use:
valid path+invalid filename,
invalid path+valid filename,
blank or null path+filename and
valid path+blank or null filename.
Validate paths for length (must be greater than 5 character and less that 255 characters).
Validate filenames for length and extension (must be at least 5 characters long, and cannot be longer
than 255 characters).
Use invalid characters in paths and file names to assure that behavior is uniform.
Remaining Risk : Minimal. Since only selected files can be specified and succeed, the only way to subvert
this is to replace the (paths and names are undisclosed) whitelisted files with malware. If the attacker can
do that, the system is already fully compromised.
Verification : Make the API calls for setting windows hooks from other sources. Use:
valid path+invalid filename,
invalid path+valid filename,
blank or null path+filename and
Validate paths for length (must be greater than 5 character and less that 255 characters).
Validate filenames for length and extension (must be at least 5 characters long, and cannot be longer
than 255 characters).
Use invalid characters in paths and file names to assure that behavior is uniform.
Approve Mitigation (Automation Anywhere): Reviewed and approved. Mark for follow up review in the
next release cycle.
Medium (158 flaws) Fix Required by Policy: Flaw no longer impacts results..
Flaw continues to impact results.
Directory Traversal(84 flaws)
Reject Mitigation (Automation Anywhere): Updating mitigation. Input validation is still being
performed, but the biggest factor in mitigation is the fact that the input is trusted to begin with (see below).
Reject Mitigation (Automation Anywhere): Promoted from Sandbox - Updating mitigation. Input
validation is still being performed, but the biggest factor in mitigation is the fact that the input is trusted to
begin with (see below).
Reject Mitigation (Automation Anywhere): Updating mitigation. Input validation is still being
performed, but the biggest factor in mitigation is the fact that the input is trusted to begin with (see below).
Approve Mitigation (Automation Anywhere): Approved. Veracode is unable to detect Get() method
as it is implemented using interface for decoupling reason and due to this the implementation is
segregated . the file path is constructed by AAPathProvider class and hence can’t be tempered. All the
implementation of Get() method is done using IAAPath interface.
10209 Likely 24 - automation.generic.dl dev/.../impl/fileoperations.cs 121
l
Reject Mitigation (Automation Anywhere): Updating mitigation. Input validation is still being
performed, but the biggest factor in mitigation is the fact that the input is trusted to begin with (see below).
Reject Mitigation (Automation Anywhere): Updating mitigation. Input validation is still being
performed, but the biggest factor in mitigation is the fact that the input is trusted to begin with (see below).
Reject Mitigation (Automation Anywhere): Updating mitigation. Input validation is still being
performed, but the biggest factor in mitigation is the fact that the input is trusted to begin with (see below).
client.DownloadFile(imageElement.src,
aaPathProvider.GetFilePathProvider(imageFileName).Get());
return "Successfully downloaded";
}
catch (Exception ex)
{
//Jecky [July 2011]
Automation.Common.Log.Write(Automation.Common.Log.Modules.Editor,
Automation.Common.Log.LogTypes.FATAL, "GetImageActionCase", string.Empty, ex);
return "Successfully not downloaded";
}
}
else
{
return "";
}
}
Approve Mitigation (Automation Anywhere): Approved. As AAE Assemblies are signed by AES 256
encryption and there is no any known practical method to crack it in present days.
33651 Likely 35 - automation.client.dep dev/.../jobfileoperation.cs 44
loymentservice.dll
Approve Mitigation (Automation Anywhere): Approved. Veracode is unable to detect Get() method
as it is implemented using interface for decoupling reason and due to this the implementation is
segregated , the file path is constructed by AAPathProvider class and hence can’t be tempered.
All the implementation of Get() method is done using IAAPath interface.
1607 Likely 52 - automationeventwatc dev/.../schedulerlogic/routines.cs 371
her.exe#12.0.0.0/aut
omation.eventwatche
r.dll/automation.sche
dulerlibrary.dll
Approve Mitigation (Automation Anywhere): Approved. As AAE Assemblies are signed by AES 256
encryption and there is no any known practical method to crack it in present days.
30854 Likely 63 - aa.editorx.ui.dll dev/.../web services/webservice.cs 806
\automation.editor\AA.EditorX.UI\Web Services\Webservice.cs
webRequest.ClientCertificates.Add(System.Security.Cryptography.X509Certificates.X509Certificate.
Approve Mitigation (Automation Anywhere): Approved. As AAE Assemblies are signed by AES 256
encryption and there is no any known practical method to crack it in present days.
35372 Likely 64 - aaplayer.exe#12.3.0. dev/.../webservice/webservice.cs 999
0
Potential False Positive (Automation Anywhere): Full path is given (in this case, a URL)
Encapsulation(1 flaw)
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
Remaining Risk : Little to none
Verification : Design review
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
Remaining Risk : Little to none
Verification : Design review
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
Remaining Risk : Little to none
Verification : Design review
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
Remaining Risk : Little to none
Verification : Design review
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
Remaining Risk : Minimal. As long as all .NET components using XMLReader are built with the 4.6 or
later version this defect cannot affect system security.
Verification : Unit tests and use of AASaferXMLDocument class to catch possible XXEExceptions, as well
as exception handler cases in code to catch the XXEException(s).
Approve Mitigation (Automation Anywhere): Reviewed and approved. Followup Item: Confirm that
Remaining Risk : Minimal. As long as all .NET components using XMLReader are built with the 4.6 or
later version this defect cannot affect system security.
Verification : Unit tests and use of AASaferXMLDocument class to catch possible XXEExceptions, as well
as exception handler cases in code to catch the XXEException(s).
Approve Mitigation (Automation Anywhere): Reviewed and approved. Followup Item: Confirm that
XXEException handling code is present to deal with possible exceptions when reading XML in the next
release.
6843 Neutral 25 - aaplugininstallation.e dev/.../flexsettingsreader.cs 99
xe#11.1.0.0
Remaining Risk : Minimal. As long as all .NET components using XMLReader are built with the 4.6 or
later version this defect cannot affect system security.
Verification : Unit tests and use of AASaferXMLDocument class to catch possible XXEExceptions, as well
as exception handler cases in code to catch the XXEException(s).
Approve Mitigation (Automation Anywhere): Reviewed and approved. Followup Item: Confirm that
XXEException handling code is present to deal with possible exceptions when reading XML in the next
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Potential False Positive (Automation Anywhere): Used .Net 4.5.2 or up version and we set the
DtdProcessing property is set to 'Prohibit' and XmlResolver property is also set to 'null'
Potential False Positive (Automation Anywhere): Used .Net 4.5.2 or up version and we set the
DtdProcessing property is set to 'Prohibit' and XmlResolver property is also set to 'null' .
Remaining Risk : Minimal. As long as all .NET components using XMLReader are built with the 4.6 or
later version this defect cannot affect system security.
Verification : Unit tests and use of AASaferXMLDocument class to catch possible XXEExceptions, as well
as exception handler cases in code to catch the XXEException(s).
Approve Mitigation (Automation Anywhere): Reviewed and approved. Followup Item: Confirm that
XXEException handling code is present to deal with possible exceptions when reading XML in the next
release.
6885 Neutral 68 - automation.fipsdata. dev/.../reader/xmlfilemanager.cs 32
migration.exe#11.0.2
.0
Remaining Risk : Minimal. As long as all .NET components using XMLReader are built with the 4.6 or
later version this defect cannot affect system security.
Verification : Unit tests and use of AASaferXMLDocument class to catch possible XXEExceptions, as well
as exception handler cases in code to catch the XXEException(s).
Approve Mitigation (Automation Anywhere): Reviewed and approved. Followup Item: Confirm that
XXEException handling code is present to deal with possible exceptions when reading XML in the next
release.
8804 Neutral 69 - automationeventwatc dev/.../common/xmllib.cs 298
her.exe#12.0.0.0/aut
omation.eventwatche
r.dll
Remaining Risk : Minimal. As long as all .NET components using XMLReader are built with the 4.6 or
later version this defect cannot affect system security.
Verification : Unit tests and use of AASaferXMLDocument class to catch possible XXEExceptions, as well
as exception handler cases in code to catch the XXEException(s).
Approve Mitigation (Automation Anywhere): Reviewed and approved. Followup Item: Confirm that
XXEException handling code is present to deal with possible exceptions when reading XML in the next
release.
3297 Neutral 70 - automation.metabot. dev/.../xmlserializer.cs 115
engine.dll/automation
.util.dll
.NET 4.5.2+ by default creates safe versions of the XML parsers used in AAE.
Reference:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET
after image is downloaded it still verifies for the content of image if content is valid
Approve Mitigation (Automation Anywhere): Approved. It is image download section and we have
validation for image type and after download image content validation.
27329 Neutral 27 - aa.editorx.ui.dll dev/.../ocr/frmocr.cs 1836
after image is downloaded it still verifies for the content of image if content is valid
Approve Mitigation (Automation Anywhere): Approved. As it is download image link and it validates
the image extensions also after download its content type also getting verified.
Approve Mitigation (Automation Anywhere): Approved. Validation is present to only download XML
stream data provided by webservice.
Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection') (CWE ID
90)(3 flaws)
Potential False Positive (Automation Anywhere): False positive, reported on client-side component.
This is a bot Command that should allow the user to control the LDAP query, however it does not allow
them to escalate any privileges beyond what they already have. The client-side command is simply part
of an automation mechanism and validating input is the responsibility of the server.
Potential False Positive (Automation Anywhere): False positive. No secrets or passwords being
Potential False Positive (Automation Anywhere): False positive. No secrets or passwords being
handled.
Potential False Positive (Automation Anywhere): False positive. No secrets or passwords being
handled.
Potential False Positive (Automation Anywhere): False Positive - This field does not contain any
hardcoded passwords
Potential False Positive (Automation Anywhere): this is false positive as it comes from third party dll
Potential False Positive (Automation Anywhere): this is false positive as it comes from third party dll
Potential False Positive (Automation Anywhere): this is false positive as it comes from third party dll
Potential False Positive (Automation Anywhere): this is false positive as it comes from third party dll
Potential False Positive (Automation Anywhere): this is a false positive as it comes from third party
dll
Potential False Positive (Automation Anywhere): The variable expWord is not having any sensitive
information or any password
Low (6 flaws)
Information Leakage(6 flaws)
Id Filename Path
24 fileoperations.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.generic/automation.generic/io/impl/
25 flexsettingsreader.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/aa.plugininstallation/plugininstallation/flexplugininst
allation/
26 frmdownloadhelpfile.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/aa.main/helpfile/
27 frmocr.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.editor/aa.editorx.ui/ocr/
28 frmreports.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/reportmanager/report/
29 frmsoapwebservicebuilduri.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.editor/aa.editorx.ui/web services/
30 globalhook.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/automation.recorder/aastandardrecorder/
31 globalhook.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/aa.main/normalrecorder/commonfiles/
32 handler.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.player/automation.proxyserver/crossbrowser/handlers/
33 ieextractmultipledata.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.editor/aa.editorx.ui/webautomation/commonfiles/
34 imapclass.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.services/automation.eventwatcher.app/event/email
classes/
35 jobfileoperation.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/automation.client.deploymentservice/deploymentm
anager/operations/download/
36 jsonserializer.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.cr.clientsdk/automation.cr.clientsdk/automation.cr.clients
dk/
37 legacyproductconfiguration.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/common/configuration/applicationsettings/
38 logconfigfilemanager.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.generic/automation.generic/logging/
39 metabotview.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/aametabotdesigner/usercontrols/
40 notificationcontext.cs dev/workspace/11.3-series_11.3.4-series_11.3.4/automation.client/notification/
41 onlinehelp.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.services/automation.helpviewer/zendeskservice/
42 packageoperations.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.generic/automation.generic/io/impl/
43 palettequantizer.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.player/automation.player/commands/application
commands/pdfintegration/pixelformatconversion/
44 plugincommon.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/aa.plugininstallation/plugininstallation/
45 pop3client.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.services/automation.eventwatcher.app/event/email
classes/
46 processinvoker.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.generic/automation.generic/processinvoker/
47 productconfiguration.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/automation.fipsdata.migration/reader/
Id Filename Path
48 property.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/aa.main/scriptfile/
49 proxyserver.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.player/automation.proxyserver/
50 readwritetaskschedules.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/schedulerlibrary/schedulerlogic/
51 repositoryoperation.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.player/automation.player/features/webcr/
52 routines.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/schedulerlibrary/schedulerlogic/
53 routines.cs dev/workspace/11.3-series_11.3.4-series_11.3.4/automation.client/common/
54 serializedeserialize.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.player/automation.player/commands/mouseandkeystrok
e/common file/
55 smartrecorderbase.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/commands.common/smartrecorder/commonfiles/
56 soaprequestbody.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.editor/aa.editorx.ui/web services/
57 systemlogmigration.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/reportmanager/systemlogreport/
58 tasklogwatcher.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/automation.client.deploymentservice/taskexecutio
nlogwatcher/
59 triggermigrationservices.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/automation.fipsdata.migration/services/
60 trippledescryptowithhash.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.generic/automation.generic/automation.generic.security/
encryption/trippledes/
61 urls.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/automation.sso/
62 userconfiguration.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/common/configuration/
63 webservice.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.editor/aa.editorx.ui/web services/
64 webservice.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.player/automation.player/commands/webservice/
65 winapiwrapper.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.generic/automation.legacy.nativeapi/
66 xmlcommand.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.core/automation.core/basexml/
67 xmlconfiguration.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.generic/automation.generic/config/xmlconfig/
68 xmlfilemanager.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.main/automation.fipsdata.migration/reader/
69 xmllib.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/automation.eventwatcher/common/
70 xmlserializer.cs dev/workspace/11.3-series_11.3.4-
series_11.3.4/automation.client/automation.utils/serialization/