CVE-2020-0688
Assigned by [email protected]
A remote code execution vulnerability exists in Microsoft Exchange software when the software fails to properly handle objects in memory, aka 'Microsoft Exchange Memory Corruption Vulnerability'.
Weaknesses (CWE)
CWE-287 — Improper Authentication
chain: product generates predictable MD5 hashes using a constant value combined with username, allowing authentication bypass.chain: product generates predictable MD5 hashes using a constant value combined with username, allowing authentication bypass.
CVSS
8.8
Base Score: 8.8/10 HIGH
Exploitability: 2.8/10
Impact: 5.9/10
Access Vector
- Availability: HIGH
- Confidentiality: HIGH
- Integrity: HIGH
Impact
- Authentication: SINGLE
- Complexity: LOW
- Vector: NETWORK
Attack Patterns (CAPEC)
CAPEC-114 — Authentication Abuse
An attacker obtains unauthorized access to an application, service or device either through knowledge of the inherent weaknesses of an authentication mechanism, or by exploiting a flaw in the authentication scheme's implementation. In such an attack an authentication mechanism is functioning but a carefully controlled sequence of events causes the mechanism to grant access to the attacker.
Typical severity: Medium
Prerequisites: An authentication mechanism or subsystem implementing some form of authentication such as passwords, digest authentication, security certificates, etc. which is flawed in some way.
Solutions:
CAPEC-115 — Authentication Bypass
An attacker gains access to application, service, or device with the privileges of an authorized or privileged user by evading or circumventing an authentication mechanism. The attacker is therefore able to access protected data without authentication ever having taken place.
Typical severity: Medium
Prerequisites: An authentication mechanism or subsystem implementing some form of authentication such as passwords, digest authentication, security certificates, etc.
Solutions:
CAPEC-151 — Identity Spoofing
Identity Spoofing refers to the action of assuming (i.e., taking on) the identity of some other entity (human or non-human) and then using that identity to accomplish a goal. An adversary may craft messages that appear to come from a different principle or use stolen / spoofed authentication credentials.
Typical severity: Medium
Prerequisites: The identity associated with the message or resource must be removable or modifiable in an undetectable way.
Solutions: Employ robust authentication processes (e.g., multi-factor authentication).
CAPEC-194 — Fake the Source of Data
An adversary takes advantage of improper authentication to provide data or services under a falsified identity. The purpose of using the falsified identity may be to prevent traceability of the provided data or to assume the rights granted to another individual. One of the simplest forms of this attack would be the creation of an email message with a modified "From" field in order to appear that the message was sent from someone other than the actual sender. The root of the attack (in this case the email system) fails to properly authenticate the source and this results in the reader incorrectly performing the instructed action. Results of the attack vary depending on the details of the attack, but common results include privilege escalation, obfuscation of other attacks, and data corruption/manipulation.
Typical severity: Medium
Prerequisites: This attack is only applicable when a vulnerable entity associates data or services with an identity. Without such an association, there would be no reason to fake the source.
Solutions:
CAPEC-22 — Exploiting Trust in Client
An attack of this type exploits vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by communicating directly with the server where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
Typical severity: High
Prerequisites: Server software must rely on client side formatted and validated values, and not reinforce these checks on the server side.
Solutions: Design: Ensure that client process and/or message is authenticated so that anonymous communications and/or messages are not accepted by the system. Design: Do not rely on client validation or encoding for security purposes. Design: Utilize digital signatures to increase authentication assurance. Design: Utilize two factor authentication to increase authentication assurance. Implementation: Perform input validation for all remote content.
CAPEC-57 — Utilizing REST's Trust in the System Resource to Obtain Sensitive Data
This attack utilizes a REST(REpresentational State Transfer)-style applications' trust in the system resources and environment to obtain sensitive data once SSL is terminated.
Typical severity: Very High
Prerequisites: Opportunity to intercept must exist beyond the point where SSL is terminated. The adversary must be able to insert a listener actively (proxying the communication) or passively (sniffing the communication) in the client-server communication path.
Solutions: Implementation: Implement message level security such as HMAC in the HTTP communication Design: Utilize defense in depth, do not rely on a single security mechanism like SSL Design: Enforce principle of least privilege
CAPEC-593 — Session Hijacking
This type of attack involves an adversary that exploits weaknesses in an application's use of sessions in performing authentication. The adversary is able to steal or manipulate an active session and use it to gain unathorized access to the application.
Typical severity: Very High
Prerequisites: An application that leverages sessions to perform authentication.
Solutions: Properly encrypt and sign identity tokens in transit, and use industry standard session key generation mechanisms that utilize high amount of entropy to generate the session key. Many standard web and application servers will perform this task on your behalf. Utilize a session timeout for all sessions. If the user does not explicitly logout, terminate their session after this period of inactivity. If the user logs back in then a new session key should be generated.
CAPEC-633 — Token Impersonation
An adversary exploits a weakness in authentication to create an access token (or equivalent) that impersonates a different entity, and then associates a process/thread to that that impersonated token. This action causes a downstream user to make a decision or take action that is based on the assumed identity, and not the response that blocks the adversary.
Typical severity: Medium
Prerequisites: This pattern of attack is only applicable when a downstream user leverages tokens to verify identity, and then takes action based on that identity.
Solutions:
CAPEC-650 — Upload a Web Shell to a Web Server
By exploiting insufficient permissions, it is possible to upload a web shell to a web server in such a way that it can be executed remotely. This shell can have various capabilities, thereby acting as a "gateway" to the underlying web server. The shell might execute at the higher permission level of the web server, providing the ability the execute malicious code at elevated levels.
Typical severity: High
Prerequisites: The web server is susceptible to one of the various web application exploits that allows for uploading a shell file.
Solutions: Make sure your web server is up-to-date with all patches to protect against known vulnerabilities. Ensure that the file permissions in directories on the web server from which files can be execute is set to the "least privilege" settings, and that those directories contents is controlled by an allowlist.
CAPEC-94 — Adversary in the Middle (AiTM)
An adversary targets the communication between two components (typically client and server), in order to alter or obtain data from transactions. A general approach entails the adversary placing themself within the communication channel between the two components.
Typical severity: Very High
Prerequisites: There are two components communicating with each other. An attacker is able to identify the nature and mechanism of communication between the two target components. An attacker can eavesdrop on the communication between the target components. Strong mutual authentication is not used between the two target components yielding opportunity for attacker interposition. The communication occurs in clear (not encrypted) or with insufficient and spoofable encryption.
Solutions: Ensure Public Keys are signed by a Certificate Authority Encrypt communications using cryptography (e.g., SSL/TLS) Use Strong mutual authentication to always fully authenticate both ends of any communications channel. Exchange public keys using a secure channel
References
http://packetstormsecurity.com/files/156592/Microsoft-Exchange-2019-15.2.221.12-Remote-Code-Execution.html
http://packetstormsecurity.com/files/156620/Exchange-Control-Panel-Viewstate-Deserialization.html
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0688
https://www.zerodayinitiative.com/advisories/ZDI-20-258/
http://packetstormsecurity.com/files/156592/Microsoft-Exchange-2019-15.2.221.12-Remote-Code-Execution.html
http://packetstormsecurity.com/files/156620/Exchange-Control-Panel-Viewstate-Deserialization.html
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0688
https://www.zerodayinitiative.com/advisories/ZDI-20-258/
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-0688
