Vulnerabilities in pkg:maven/org.apache.struts/struts-extras

PACKAGE
Advisory Identifier: GHSA-cx25-xg7c-xfm5
Advisory Summary

CVE-2025-54656 is a MODERATE (CVSS 6.5) apache struts extras before 2 vulnerability (CWE-117: Improper Output Neutralization for Logs) affecting Struts extras libraries in the Maven ecosystem. The issue involves apache struts extras before 2 has an improper output neutralization for logs vulnerability. Remediation is available in the latest vendor maintenance releases.

1 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:maven/org.apache.struts/struts-extras

1 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:maven/org.apache.struts/struts-extras. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-cx25-xg7c-xfm5 CVE-2025-54656 MODERATE Apache Struts Extras Before 2 has an Improper Output Neutralization for Logs Vulnerability

CVE-2025-54656 at a Glance

CVE Identifier CVE-2025-54656
GHSA Identifier GHSA-cx25-xg7c-xfm5
Severity MODERATE
CVSS v3.1 Base Score 6.5
CWE Classification CWE-117: Improper Output Neutralization for Logs
Affected Product Struts extras
Package Ecosystem Maven
Published Date
Last Updated

Security Impact

CVSS: 6.5

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality Low (C:L)
Integrity Low (I:L)
Availability None (A:N)

How to Fix CVE-2025-54656

To remediate this vulnerability, upgrade all affected Struts extras dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

org.apache.struts:struts-extras fixed: Latest secure release
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts-extras</artifactId>
    <version>Latest secure release</version>
</dependency>
struts:struts fixed: Latest secure release
<dependency>
    <groupId>struts</groupId>
    <artifactId>struts</artifactId>
    <version>Latest secure release</version>
</dependency>
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

mvn dependency:tree -Dincludes=org.apache.struts

How to Check if You Are Affected

To determine whether your Java application is affected by CVE-2025-54656, inspect your build dependencies using the Maven Dependency Plugin:

mvn dependency:tree -Dincludes=org.apache.struts

Analyze the terminal output to locate any version of Struts extras in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than the patched release), your application is affected.

Note: The mvn dependency:tree -Dincludes=org.apache.struts command inspects the resolved dependency graph declared in your project's POM files; it does not perform automated security scanning or inspect runtime dynamic classpaths. Always verify runtime container classpaths and shaded JARs.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-117: Improper Output Neutralization for Logs, where the product constructs a log message from external input, but it does not neutralize or incorrectly neutralizes special elements when the message is written to a log file. In Struts extras, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

** UNSUPPORTED WHEN ASSIGNED ** Improper Output Neutralization for Logs vulnerability in Apache Struts. This issue affects Apache Struts Extras: before 2. When using LookupDispatchAction, in some cases, Struts may print untrusted input to the logs without any filtering. Specially-crafted input may lead to log output where part of the message masquerades as a separate log line, confusing consumers of the logs (either human or automated).  As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2025-54656 Affected Struts extras Versions

2 component(s)
Product / Package Ecosystem Affected Versions Fixed Version
org.apache.struts:struts-extras
Maven
≤ 1.3.10
struts:struts
Maven
1.2.9
All 1 versions
1.2.9
None specified

References

Frequently Asked Questions

What is CVE-2025-54656?
CVE-2025-54656 is a security vulnerability in Struts extras involving Apache Struts Extras Before 2 has an Improper Output Neutralization for Logs Vulnerability under CWE-117: Improper Output Neutralization for Logs.
Which Struts extras versions are affected?
Affected versions include releases prior to current release patches across affected packages: org.apache.struts:struts-extras, struts:struts.
What version fixes CVE-2025-54656?
Upgrading to current release patches (or the latest patched release for your respective branch) resolves the vulnerability.
Is struts-extras affected?
Yes, org.apache.struts:struts-extras is affected in releases prior to Latest secure release. Upgrade your dependency to Latest secure release or later.
Is struts affected?
Yes, struts:struts is affected in releases prior to Latest secure release. Upgrade your dependency to Latest secure release or later.
What is the CVSS score of CVE-2025-54656?
CVE-2025-54656 has a CVSS v3.1 base score of 6.5 (MODERATE) with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N.
What CWE is associated with CVE-2025-54656?
CVE-2025-54656 is classified under CWE-117: Improper Output Neutralization for Logs (The product constructs a log message from external input, but it does not neutralize or incorrectly neutralizes special elements when the message is written to a log file.).
How can I check Maven dependencies for CVE-2025-54656?
Run the dependency tree command: 'mvn dependency:tree -Dincludes=org.apache.struts'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-cx25-xg7c-xfm5",
  "modified" : "2025-11-14T22:46:51Z",
  "published" : "2025-07-30T18:31:36Z",
  "aliases" : [ "CVE-2025-54656" ],
  "summary" : "Apache Struts Extras Before 2 has an Improper Output Neutralization for Logs Vulnerability",
  "details" : "** UNSUPPORTED WHEN ASSIGNED ** Improper Output Neutralization for Logs vulnerability in Apache Struts.\n\nThis issue affects Apache Struts Extras: before 2.\n\nWhen using LookupDispatchAction, in some cases, Struts may print untrusted input to the logs without any filtering. Specially-crafted input may lead to log output where part of the message masquerades as a separate log line, confusing consumers of the logs (either human or automated). \n\nAs this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users.\n\nNOTE: This vulnerability only affects products that are no longer supported by the maintainer.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "org.apache.struts:struts-extras"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "last_affected" : "1.3.10"
      } ]
    } ]
  }, {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "struts:struts"
    },
    "versions" : [ "1.2.9" ]
  } ],
  "references" : [ {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-54656"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/apache/struts"
  }, {
    "type" : "WEB",
    "url" : "https://lists.apache.org/thread/so5cn07j2zn9vlf1xnfqp630wts719rr"
  }, {
    "type" : "WEB",
    "url" : "http://www.openwall.com/lists/oss-security/2025/07/30/1"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-117" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2025-07-30T20:02:07Z",
    "nvd_published_at" : "2025-07-30T16:15:28Z"
  }
}