Skip to content
Heist/ feed
Back to feed
High

Apache Struts: Unbounded growth of localized-text caches driven by the request locale

Type: advisorySources: OSV

Allocation of resources without limits or throttling vulnerability in Apache Struts. When no fixed locale is configured, the locale used for localized-text lookups is taken from the incoming request, allowing an unauthenticated remote client to cause the framework's internal localized-text caches to grow without bound and exhaust the Java heap, denying service to other users. Applications that configure a fixed locale are not affected. This issue affects Apache Struts: from 2.0.0 through 2.3.37, from 2.5.0 through 2.5.33, from 6.0.0 through 6.10.0, from 7.0.0 through 7.2.1. Users are recommended to upgrade to version 6.11.0 or 7.3.0, which fixes the issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-73635
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 15:15 UTC · Revision 1

Source evidence

Apache Struts: Unbounded growth of localized-text caches driven by the request locale

core-osv · Original source

Published 15 Aug 2026, 10:38 UTC

Allocation of resources without limits or throttling vulnerability in Apache Struts. When no fixed locale is configured, the locale used for localized-text lookups is taken from the incoming request, allowing an unauthenticated remote client to cause the framework's internal localized-text caches to grow without bound and exhaust the Java heap, denying service to other users. Applications that configure a fixed locale are not affected. This issue affects Apache Struts: from 2.0.0 through 2.3.37, from 2.5.0 through 2.5.33, from 6.0.0 through 6.10.0, from 7.0.0 through 7.2.1. Users are recommended to upgrade to version 6.11.0 or 7.3.0, which fixes the issue.

osv:CVE-2026-73635
Complete source record
{
  "id": "3f4bea885d04097ce18356ea895de42624012af7f820937e0f6905bf4391d998",
  "url": "https://osv.dev/vulnerability/CVE-2026-73635",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Apache Struts: Unbounded growth of localized-text caches driven by the request locale",
    "summary": "Allocation of resources without limits or throttling vulnerability in Apache Struts. When no fixed locale is configured, the locale used for localized-text lookups is taken from the incoming request, allowing an unauthenticated remote client to cause the framework's internal localized-text caches to grow without bound and exhaust the Java heap, denying service to other users. Applications that configure a fixed locale are not affected. This issue affects Apache Struts: from 2.0.0 through 2.3.37, from 2.5.0 through 2.5.33, from 6.0.0 through 6.10.0, from 7.0.0 through 7.2.1. Users are recommended to upgrade to version 6.11.0 or 7.3.0, which fixes the issue.",
    "evidence": "osv:CVE-2026-73635",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-73635",
      "aliases": [
        "CVE-2026-73635"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/apache/struts",
              "type": "GIT",
              "events": [
                {
                  "introduced": "2c0a197cea8fdc7d8cda5eeaa15a1c76507ac0a5"
                },
                {
                  "last_affected": "60a1a2642ae7ddf74c0062fe37b3b57f83a0588e"
                },
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "ca8d57c538136983a0180ac508ebcfabaf73f839"
                },
                {
                  "introduced": "68fb49c10e083dce829476778eec726fc90c8c38"
                },
                {
                  "fixed": "52628432a922c87dcbb87241b0f749ee5cfc489f"
                },
                {
                  "introduced": "1d95543fbf2c873d5dab1773f951c38e3220b4e5"
                },
                {
                  "fixed": "a88fd76364b8a88a8769455675ceeb8acd256d5b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.0.0"
                      },
                      {
                        "last_affected": "2.3.37"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.5.0"
                      },
                      {
                        "last_affected": "2.5.33"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "6.0.0"
                      },
                      {
                        "fixed": "6.11.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "7.0.0"
                      },
                      {
                        "fixed": "7.3.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "STRUTS_6_8_0",
            "STRUTS_6_7_4",
            "STRUTS_6_7_3",
            "STRUTS_7_0_3",
            "STRUTS_6_7_2",
            "STRUTS_7_0_2",
            "STRUTS_6_7_1",
            "STRUTS_7_0_1",
            "STRUTS_6_7_0",
            "STRUTS_7_0_0",
            "STRUTS_6_6_1",
            "STRUTS_6_6_0",
            "STRUTS_6_5_0",
            "STRUTS_6_4_0",
            "STRUTS_2_3_37",
            "STRUTS_2_5_33",
            "STRUTS_6_3_0_1",
            "STRUTS_6_2_0",
            "STRUTS_2_5_32",
            "STRUTS_6_3_0",
            "STRUTS_2_5_31",
            "STRUTS_6_1_1",
            "STRUTS_6_1_0",
            "STRUTS_6_0_3",
            "STRUTS_6_0_2",
            "STRUTS_6_0_1",
            "STRUTS_6_0_0",
            "STRUTS_2_5_30",
            "STRUTS_2_5_29",
            "STRUTS_2_5_28_3",
            "STRUTS_2_5_28_2",
            "STRUTS_2_5_28_1",
            "STRUTS_2_5_28",
            "STRUTS_2_5_27",
            "STRUTS_2_5_26",
            "STRUTS_2_5_25",
            "STRUTS_2_5_24",
            "STRUTS_2_5_23",
            "STRUTS_2_5_22",
            "STRUTS_2_5_21",
            "STRUTS_2_5_20",
            "STRUTS_2_5_19",
            "STRUTS_2_5_18",
            "STRUTS_2_3_36",
            "STRUTS_2_5_17",
            "STRUTS_2_3_35",
            "STRUTS_2_5_16",
            "STRUTS_2_5_15",
            "STRUTS_2_5_14_1",
            "STRUTS_2_5_14",
            "STRUTS_2_5_13",
            "STRUTS_2_3_34",
            "STRUTS_2_3_33",
            "STRUTS_2_5_12",
            "STRUTS_2_5_11",
            "STRUTS_2_3_32",
            "STRUTS_2_5_10",
            "STRUTS_2_5_9",
            "STRUTS_2_5_8",
            "STRUTS_2_5_7",
            "STRUTS_2_5_6",
            "STRUTS_2_5_5",
            "STRUTS_2_5_4",
            "STRUTS_2_3_31",
            "STRUTS_2_5_3",
            "STRUTS_2_3_30",
            "STRUTS_2_3_29",
            "STRUTS_2_3_28",
            "STRUTS_2_3_24_1",
            "STRUTS_2_3_27",
            "STRUTS_2_3_26",
            "STRUTS_2_3_25",
            "STRUTS_2_5_BETA2",
            "STRUTS_2_3_24",
            "STRUTS_2_5_BETA1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73635.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:36.787536457Z",
      "provider": "osv",
      "references": [
        "https://cwiki.apache.org/confluence/display/WW/S2-074",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73635.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-73635"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-770"
        ],
        "cna_assigner": "apache",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "2.0.0"
                  },
                  {
                    "last_affected": "2.3.37"
                  },
                  {
                    "introduced": "2.5.0"
                  },
                  {
                    "last_affected": "2.5.33"
                  },
                  {
                    "introduced": "6.0.0"
                  },
                  {
                    "last_affected": "6.10.0"
                  },
                  {
                    "introduced": "7.0.0"
                  },
                  {
                    "last_affected": "7.2.1"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandardRange"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73635.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-73635",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 504034,
  "published_at": "2026-08-15T10:38:08.227+00:00"
}