Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-54656

CVE-2025-54656: Apache Struts Extras Log Injection Flaw

CVE-2025-54656 is a log injection vulnerability in Apache Struts Extras allowing untrusted input to manipulate log files. This article covers technical details, affected versions, security impact, and mitigation strategies.

Published:

CVE-2025-54656 Overview

CVE-2025-54656 is an Improper Output Neutralization for Logs vulnerability [CWE-117] affecting Apache Struts Extras versions before 2. The flaw exists in the LookupDispatchAction component, which writes untrusted input to log files without filtering control characters or newlines. Attackers can craft input that inserts forged log entries, misleading human analysts and automated log parsers. Apache has marked the project as retired and will not release a patched version. The maintainer recommends migrating to a supported alternative or restricting access to trusted users. This vulnerability only affects products no longer supported by the maintainer, which increases the operational risk for organizations still running Struts Extras in production.

Critical Impact

Attackers can inject falsified log entries into Struts Extras logs, undermining forensic integrity and enabling downstream log-parser confusion or masking of malicious activity.

Affected Products

  • Apache Struts Extras, all versions before 2
  • Applications using LookupDispatchAction from Struts Extras
  • Deployments of the retired Struts Extras library that receive untrusted user input

Discovery Timeline

  • 2025-07-30 - CVE CVE-2025-54656 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-54656

Vulnerability Analysis

The vulnerability resides in how Apache Struts Extras handles logging within LookupDispatchAction. When the framework logs request parameters or dispatch keys sourced from HTTP input, it does not sanitize newline characters (\n, \r) or other control sequences before writing them to log output. An attacker submits input containing embedded line terminators followed by a fabricated log message. The logging subsystem writes this input verbatim, causing the payload to appear as an additional, legitimate log line.

This class of flaw is tracked under [CWE-117: Improper Output Neutralization for Logs]. It does not lead to code execution or memory corruption. Its impact is confined to log integrity, but that impact is significant in environments where log data feeds SIEMs, SOAR playbooks, or compliance evidence.

Root Cause

The root cause is missing output encoding for log sinks. Struts Extras passes untrusted request data directly into logger calls without applying character filtering. Because the project is retired, the maintainer will not publish a fix.

Attack Vector

The attack vector is network-based and requires no authentication or user interaction. An attacker submits an HTTP request containing embedded CRLF sequences and a synthetic log line to a Struts Extras endpoint using LookupDispatchAction. The forged content is written to log files as if it originated from the application. Automated consumers parsing those logs can be tricked into recording false events, suppressing alerts, or attributing malicious activity to unrelated actors.

No public exploit or proof-of-concept is available, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog.

Detection Methods for CVE-2025-54656

Indicators of Compromise

  • Log entries containing unexpected CRLF sequences, embedded timestamps, or duplicated log level tokens within a single request context
  • Repeated LookupDispatchAction invocations from a single source with anomalously long parameter values
  • Log lines that appear structurally valid but reference actions or users not present in application state

Detection Strategies

  • Parse application logs with strict regular expressions that flag embedded newline characters inside expected single-line fields
  • Correlate web-server access logs with Struts Extras application logs to identify inconsistencies in event counts or sequences
  • Deploy log-forwarding pipelines that reject or quote-escape non-printable characters before ingestion into the SIEM

Monitoring Recommendations

  • Enable ingestion of Struts Extras logs into a centralized analytics platform with schema validation
  • Alert on log entries whose raw byte length or newline count exceeds baseline thresholds for the endpoint
  • Track outbound requests to LookupDispatchAction handlers and inspect parameters for %0A, %0D, and Unicode line separators

How to Mitigate CVE-2025-54656

Immediate Actions Required

  • Inventory all applications that depend on Apache Struts Extras and identify use of LookupDispatchAction
  • Restrict network access to affected applications so only trusted, authenticated users can reach the vulnerable endpoints
  • Add a web application firewall rule that strips or rejects requests containing CRLF sequences in query parameters and form fields
  • Plan migration away from Struts Extras, which is retired and will receive no further security updates

Patch Information

No patch is available. Apache has retired the Struts Extras project and stated it will not release a fix. Refer to the Apache Mailing List Thread and the OpenWall OSS Security Discussion for maintainer guidance. Migrate to a supported web framework or an actively maintained Struts release.

Workarounds

  • Wrap all logger calls that consume request data with a sanitizer that replaces \r and \n with literal escape sequences
  • Enforce structured logging (JSON) so that log consumers parse field boundaries instead of relying on line delimiters
  • Place affected applications behind an authenticated reverse proxy that limits exposure to internal, trusted users only
bash
# Example WAF rule fragment to drop CRLF injection attempts targeting Struts Extras
SecRule ARGS "@rx (?:%0[aAdD]|\r|\n)" \
  "id:1005465,phase:2,deny,status:400,\
   msg:'CRLF sequence in request parameter - CVE-2025-54656'"

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.