CWE-651
Weakness AllowedExposure of WSDL File Containing Sensitive Information
Abstraction: Variant · Status: Incomplete
The Web services architecture may require exposing a Web Service Definition Language (WSDL) file that contains information on the publicly accessible services and how callers of these services should interact with them (e.g. what parameters they expect and what types they return).
Mapping guidance
This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Modes of introduction
An information exposure may occur if any of the following apply:
The WSDL file is accessible to a wider audience than intended.
The WSDL file contains information on the methods/services that should not be publicly accessible or information about deprecated methods. This problem is made more likely due to the WSDL often being automatically generated from the code.
Information in the WSDL file helps guess names/locations of methods/resources that should not be publicly accessible.
Detection methods
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Content history
updated Applicable_Platforms, Common_Consequences, Description, Relationships
updated Common_Consequences
updated Description, Name
updated Common_Consequences
updated Common_Consequences
updated Relationships
updated Potential_Mitigations
updated Relationships
updated Applicable_Platforms, Demonstrative_Examples, Description, Enabling_Factors_for_Exploitation, Observed_Examples
updated Name, Relationships
updated Relationships
updated Relationships, Time_of_Introduction
updated Mapping_Notes
updated Weakness_Ordinalities
updated Description, Detection_Factors, Modes_of_Introduction, Time_of_Introduction
0 vulnerabilities reference this CWE, most recent first.
No vulnerabilities reference this CWE.
Mitigation
Limit access to the WSDL file as much as possible. If services are provided only to a limited number of entities, it may be better to provide WSDL privately to each of these entities than to publish WSDL publicly.
Mitigation
Strategy: Separation of Privilege
Make sure that WSDL does not describe methods that should not be publicly accessible. Make sure to protect service methods that should not be publicly accessible with access controls.
Mitigation
Do not use method names in WSDL that might help an adversary guess names of private methods/resources used by the service.
No CAPEC attack patterns related to this CWE.