When the product encounters an error condition or failure, its design requires it to fall back to a state that is less secure than other options that are available, such as selecting the weakest encryption algorithm or using the most permissive access control restrictions. By entering a less secure state, the product inherits the weaknesses associated with that state, making it easier to compromise. At the least, it causes administrators to have a false sense of security. This weakness typically occurs as a result of wanting to "fail functional" to minimize administration and support costs, instead of "failing safe." 1000 699 Weakness ChildOf 657 1000 Weakness ChildOf 755 699 Category ChildOf 388 711 Category ChildOf 728 1000 Weakness PeerOf 280 888 Category ChildOf 889 Primary Failing Open Architecture and Design Implementation Access_Control Bypass protection mechanism Intended access restrictions can be bypassed, which is often contradictory to what the product's administrator expects. Architecture and Design Subdivide and allocate resources and components so that a failure in one part does not affect the entire product. Implicit Switches may revert their functionality to that of hubs when the table used to map ARP information to the switch interface overflows, such as when under a spoofing attack. This results in traffic being broadcast to an eavesdropper, instead of being sent only on the relevant switch interface. To mitigate this type of problem, the developer could limit the number of ARP entries that can be recorded for a given switch interface, while other interfaces may keep functioning normally. Configuration options can be provided on the appropriate actions to be taken in case of a detected failure, but safe defaults should be used. CVE-2007-5277 The failure of connection attempts in a web browser resets DNS pin restrictions. An attacker can then bypass the same origin policy by rebinding a domain name to a different IP address. This was an attempt to "fail functional." CVE-2006-4407 Incorrect prioritization leads to the selection of a weaker cipher. Although it is not known whether this issue occurred in implementation or design, it is feasible that a poorly designed algorithm could be a factor. Since design issues are hard to fix, they are rarely publicly reported, so there are few CVE examples of this problem as of January 2008. Most publicly reported issues occur as the result of an implementation error instead of design, such as CVE-2005-3177 (Improper handling of large numbers of resources) or CVE-2005-2969 (inadvertently disabling a verification step, leading to selection of a weaker protocol). Jerome H. Saltzer Michael D. Schroeder The Protection of Information in Computer Systems Proceedings of the IEEE 63 September, 1975 http://web.mit.edu/Saltzer/www/publications/protection/ Sean Barnum Michael Gegick Failing Securely 2005-12-05 https://buildsecurityin.us-cert.gov/daisy/bsi/articles/knowledge/principles/349.html Improper Error Handling A7 CWE_More_Specific Pascal Meunier Purdue University 2008-01-18 Eric Dalci Cigital 2008-07-01 updated Time_of_Introduction CWE Content Team MITRE 2008-09-08 updated Common_Consequences, Description, Name, Relationships, Taxonomy_Mappings, Weakness_Ordinalities CWE Content Team MITRE 2009-01-12 updated Description, Name CWE Content Team MITRE 2009-03-10 updated Relationships CWE Content Team MITRE 2009-05-27 updated Name CWE Content Team MITRE 2010-12-13 updated Research_Gaps CWE Content Team MITRE 2011-06-01 updated Common_Consequences CWE Content Team MITRE 2012-05-11 updated Relationships CWE Content Team MITRE 2012-10-30 updated Potential_Mitigations Design Principle Violation: Not Failing Securely Design Principle Violation: Not Failing Securely (aka 'Failing Open') Not Failing Securely (aka 'Failing Open')