Skip to content

CWE-552: Files or Directories Accessible to External Parties

AbstractionStructureStatus
NoneSimpleDraft

Description

The product makes files or directories accessible to unauthorized actors, even though they should not be.

Extended Description

Web servers, FTP servers, and similar servers may store a set of files underneath a “root” directory that is accessible to the server’s users. Applications may store sensitive files underneath this root without also using access control to limit which users may request those files, if any. Alternately, an application might package multiple files or directories into an archive file (e.g., ZIP or tar), but the application might not exclude sensitive files that are underneath those directories.

In cloud technologies and containers, this weakness might present itself in the form of misconfigured storage accounts that can be read or written by a public or anonymous user.

NatureIDView IDName
ChildOfCWE-6681000Exposure of Resource to Wrong Sphere
ChildOfCWE-6681003Exposure of Resource to Wrong Sphere
ChildOfCWE-2851000Improper Authorization

Modes of Introduction

PhaseNote
Architecture and Design-
ImplementationOMISSION: This weakness is caused by missing a security tactic during the architecture and design phase.
OperationOMISSION: This weakness is caused by missing a security tactic during the architecture and design phase.

Applicable Platforms

Languages

Class: Not Language-Specific

Technologies

Class: Not Technology-Specific Class: Cloud Computing

Common Consequences

ScopeImpactNote
Confidentiality, IntegrityRead Files or Directories, Modify Files or Directories

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.)

Effectiveness: High

Potential Mitigations

Implementation

When storing data in the cloud (e.g., S3 buckets, Azure blobs, Google Cloud Storage, etc.), use the provider’s controls to disable public access.