Safeguard
Application Security•

CWE-657 Violation of Secure Design Principles

Design flaws are expensive to fix after the code ships. What CWE-657 covers, the CVEs MITRE ties to it, and how to review designs earlier.

Safeguard Security Team
3 min read

CWE-657 is the broad class for products that violate well-established principles of secure design. It does not name one bug. It names a root cause that can introduce other weaknesses or make it easier for developers to introduce them during implementation. Every team that designs systems, from a single API to a firmware stack, is in scope.

How it happens

MITRE makes a point worth keeping in mind: because code is centered around design, design problems can be resource-intensive to fix. A coding mistake is a patch. A design mistake can mean rebuilding a component.

The record links four CVEs as examples of what a violated design principle looks like:

  • CVE-2019-6260: a Baseboard Management Controller with bus bridges that do not require authentication for arbitrary read and write access to its physical address space.
  • CVE-2007-5277: the failure of connection attempts in a web browser resets DNS pin restrictions, so an attacker can rebind a domain name to a different IP address and bypass the same origin policy.
  • CVE-2006-7142: a hard-coded cryptographic key stored in an executable program.
  • CVE-2007-0408: a server that does not properly validate client certificates when reusing cached connections.

Each one is a decision made at the architecture level: skip authentication on an internal bus, reset a pin on error, ship one key to everyone, trust a cached connection.

What an attacker gains

The record's consequence is listed only as "Other", which fits: the impact depends entirely on which principle was broken. The examples above range from unauthenticated hardware access to a same origin policy bypass.

How to find it

The record lists no detection methods. Design flaws rarely show up in a scanner. Use threat modeling and architecture review before code is written, and check designs against known principles: least privilege, separation of privilege, fail-safe defaults, minimizing exposed interfaces, and not relying on secrecy. Then look for weaknesses in the neighboring classes that this one tends to cause.

How to fix it

MITRE lists no formal mitigations on this entry, so the guidance here is practical. Fix design flaws at the design level: patching the symptom leaves the cause. Add a security review step to design documents. When a component fails, ask which principle it broke and look for other places that make the same choice. Where a flaw is in a third party component, track it as you would any vulnerability and plan the replacement.

Quick check

Why are design flaws costly?

MITRE notes that code is centered around design, so design problems can be resource-intensive to fix.

Can a scanner reliably find this class?

Not on its own. Design review and threat modeling find these earlier.

Sources

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.