Weakness · Medium

CWE-779: Logging of Excessive Data

What it is

The product logs too much information, making log files hard to process and possibly hindering recovery efforts or forensic analysis after an attack.

Likelihood of exploit: LowMITRE CWE 4.19.1

Severity (our rating)
Medium
Likelihood of exploit
Low
Introduced during
Operation
Exploited in the wild
No CVE in CISA's catalog

In more detail

While logging is a good practice in general, and very high levels of logging are appropriate for debugging stages of development, too much logging in a production environment might hinder a system administrator's ability to detect anomalous conditions. This can provide cover for an attacker while attempting to penetrate a system, clutter the audit trail for forensic analysis, or make it more difficult to debug problems in a production environment.

What an attacker can do

  • DoS: Resource Consumption (CPU) (Availability)
  • DoS: Resource Consumption (Other) (Availability)
  • Hide Activities (Non-Repudiation)

How to prevent it

Architecture and Design

  • Suppress large numbers of duplicate log messages and replace them with periodic summaries. For example, syslog may include an entry that states "last message repeated X times" when recording repeated events.
  • Support a maximum size for the log file that can be controlled by the administrator. If the maximum size is reached, the admin should be notified. Also, consider reducing functionality of the product. This may result in a denial-of-service to legitimate product users, but it will prevent the product from adversely impacting the entire system.

Implementation

  • Adjust configurations appropriately when the product is transitioned from a debug state to production.

How to find it

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

CWE-779 on MITRE's CWE site

H2 Security

Found it in your code?

We review where it appears, fix it with your team, and check it was not already used against you.

Talk to our team

T Academy

Stop writing it in the first place

Learn to build software and systems without weaknesses like this one, with practice on real hosts in your browser, every objective checked on the machine.

Start free

Source: MITRE Common Weakness Enumeration, CWE version 4.19.1. CWE is a trademark of The MITRE Corporation.