CWE

Common Weakness Enumeration

A Community-Developed List of Software & Hardware Weakness Types

CWE Top 25 Most Dangerous Weaknesses
Home > CWE List > CWE- Individual Dictionary Definition (4.4)  
ID

CWE-1327: Binding to an Unrestricted IP Address

Weakness ID: 1327
Abstraction: Base
Structure: Simple
Status: Incomplete
Presentation Filter:
+ Description
The product assigns the address 0.0.0.0 for a database server, a cloud service/instance, or any computing resource that communicates remotely.
+ Extended Description

When a server binds to the address 0.0.0.0, it allows connections from every IP address on the local machine, effectively exposing the server to every possible network. This might be much broader access than intended by the developer or administrator, who might only be expecting the server to be reachable from a single interface/network.

+ Relationships

The table(s) below shows the weaknesses and high level categories that are related to this weakness. These relationships are defined as ChildOf, ParentOf, MemberOf and give insight to similar items that may exist at higher and lower levels of abstraction. In addition, relationships such as PeerOf and CanAlsoBe are defined to show similar weaknesses that the user may want to explore.

+ Relevant to the view "Research Concepts" (CWE-1000)
NatureTypeIDName
ChildOfClassClass - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.668Exposure of Resource to Wrong Sphere
+ Modes Of Introduction

The different Modes of Introduction provide information about how and when this weakness may be introduced. The Phase identifies a point in the life cycle at which introduction may occur, while the Note provides a typical scenario related to introduction during the given phase.

PhaseNote
System Configuration
+ Applicable Platforms
The listings below show possible areas for which the given weakness could appear. These may be for specific named Languages, Operating Systems, Architectures, Paradigms, Technologies, or a class of such platforms. The platform is listed along with how frequently the given weakness appears for that instance.

Languages

Other (Undetermined Prevalence)

Operating Systems

Class: OS-Independent (Undetermined Prevalence)

Architectures

Class: Architecture-Independent (Undetermined Prevalence)

Technologies

Web Server (Undetermined Prevalence)

Class: Client Server (Undetermined Prevalence)

Class: Cloud Computing (Undetermined Prevalence)

+ Common Consequences

The table below specifies different individual consequences associated with the weakness. The Scope identifies the application security area that is violated, while the Impact describes the negative technical impact that arises if an adversary succeeds in exploiting this weakness. The Likelihood provides information about how likely the specific consequence is expected to be seen relative to the other consequences in the list. For example, there may be high likelihood that a weakness will be exploited to achieve a certain impact, but a low likelihood that it will be exploited to achieve a different impact.

ScopeImpactLikelihood
Availability

Technical Impact: DoS: Amplification

High
+ Demonstrative Examples

Example 1

The following code snippet uses 0.0.0.0 in a Puppet script.

(bad code)
Example Language: Other 
signingserver::instance {
"nightly-key-signing-server":
listenaddr => "0.0.0.0",
port => "9100",
code_tag => "SIGNING_SERVER",
}

The Puppet code snippet is used to provision a signing server that will use 0.0.0.0 to accept traffic. However, as 0.0.0.0 is unrestricted, malicious users may use this IP address to launch frequent requests and cause denial of service attacks.

(good code)
Example Language: Other 
signingserver::instance {
"nightly-key-signing-server":
listenaddr => "127.0.0.1",
port => "9100",
code_tag => "SIGNING_SERVER",
}
+ Potential Mitigations

Phase: System Configuration

Assign IP addresses that are not 0.0.0.0.

Effectiveness: High

Phase: System Configuration

Strategy: Firewall

Unwanted connections to the configured server may be denied through a firewall or other packet filtering measures.

Effectiveness: High

+ References
[REF-1158] Akond Rahman, Md Rayhanur Rahman, Chris Parnin and Laurie Williams. "Security Smells in Ansible and Chef Scripts: A Replication Study". 2020-06-20. <https://arxiv.org/pdf/1907.07159.pdf>.
[REF-1159] Akond Rahman, Chris Parnin and Laurie Williams. "The Seven Sins: Security Smells in Infrastructure as Code Scripts". ICSE '19: Proceedings of the 41st International Conference on Software Engineering. 2019-05. <https://dl.acm.org/doi/10.1109/ICSE.2019.00033>.
+ Content History
+ Submissions
Submission DateSubmitterOrganization
2020-09-08Akond RahmanTennessee Technological University
+ Modifications
Modification DateModifierOrganization
2021-03-15CWE Content TeamMITRE
updated Relationships
More information is available — Please select a different filter.
Page Last Updated: March 15, 2021