Modules with Circular Dependencies

Incomplete Base
Structure: Simple
Description

This weakness occurs when software modules have circular references, meaning Module A depends on Module B, which in turn depends back on Module A, creating a closed loop.

Extended Description

Circular dependencies create a tightly coupled architecture that undermines modular design. This makes the codebase significantly harder to understand, test, and maintain because changes in one module can unpredictably ripple through the entire cycle. For developers, this increases the time and complexity required to locate and fix bugs, including security vulnerabilities, making it easier to inadvertently introduce new flaws during maintenance. From a security perspective, this architectural flaw indirectly weakens your application's security posture. The reduced maintainability and increased complexity slow down vulnerability remediation, extending potential exposure windows. Furthermore, these cycles can cause runtime failures like stack overflows or initialization deadlocks. If an attacker can trigger these unreliable code paths, a stability issue can be directly exploited as a security vulnerability.

Common Consequences 1
Scope: Other

Impact: Reduce Reliability

References 2
Automated Source Code Maintainability Measure (ASCMM)
Object Management Group (OMG)
01-2016
ID: REF-960
Automated Source Code Reliability Measure (ASCRM)
Object Management Group (OMG)
01-2016
ID: REF-961
Related Weaknesses
Taxonomy Mapping
  • OMG ASCMM
  • OMG ASCRM