CWE-300 – Channel Accessible by Non-Endpoint

Read Time:1 Minute, 45 Second

Description

The product does not adequately verify the identity of actors at both ends of a communication channel, or does not adequately ensure the integrity of the channel, in a way that allows the channel to be accessed or influenced by an actor that is not an endpoint.

In order to establish secure communication between two parties, it is often important to adequately verify the identity of entities at each end of the communication channel. Inadequate or inconsistent verification may result in insufficient or incorrect identification of either communicating entity. This can have negative consequences such as misplaced trust in the entity at the other end of the channel. An attacker can leverage this by interposing between the communicating entities and masquerading as the original entity. In the absence of sufficient verification of identity, such an attacker can eavesdrop and potentially modify the communication between the original entities.

Modes of Introduction:

– Architecture and Design

 

 

Related Weaknesses

CWE-923

 

Consequences

Confidentiality, Integrity, Access Control: Read Application Data, Modify Application Data, Gain Privileges or Assume Identity

An attacker could pose as one of the entities and read or possibly modify the communication.

 

Potential Mitigations

Phase: Implementation

Description: 

Always fully authenticate both ends of any communications channel.

Phase: Architecture and Design

Description: 

Adhere to the principle of complete mediation.

Phase: Implementation

Description: 

A certificate binds an identity to a cryptographic key to authenticate a communicating party. Often, the certificate takes the encrypted form of the hash of the identity of the subject, the public key, and information such as time of issue or expiration using the issuer’s private key. The certificate can be validated by deciphering the certificate with the issuer’s public key. See also X.509 certificate signature chains and the PGP certification structure.

CVE References

  • CVE-2014-1266
    • chain: incorrect “goto” in Apple SSL product bypasses certificate validation, allowing Adversry-in-the-Middle (AITM) attack (Apple “goto fail” bug). CWE-705 (Incorrect Control Flow Scoping) -> CWE-561 (Dead Code) -> CWE-295 (Improper Certificate Validation) -> CWE-393 (Return of Wrong Status Code) -> CWE-300 (Channel Accessible by Non-Endpoint).