CVE-2023-3042:Cross-site scripting (XSS) vulnerability in dotCMS due to improper URL normalization that fails to strip double slashes.

splash
Back

Description Preview

A vulnerability has been discovered in dotCMS where the NormalizationFilter component fails to properly strip double slashes (//) from URLs. This flaw can potentially enable attackers to bypass XSS protections and access controls. The issue exists because double slashes were not included in the default invalid URL character list, allowing URLs like https://demo.dotcms.com//html/portlet/ext/files/edit_text_inc.jsp to be processed when they should have returned a 404 error.

Overview

This vulnerability (CVE-2023-3042) is classified as CWE-79 (Cross-site Scripting). The flaw in dotCMS's NormalizationFilter allows attackers to craft URLs with double slashes that bypass security controls. The oversight in the default invalid URL character list can be observed in the NormalizationFilter.java file. When exploited, this vulnerability could potentially allow attackers to execute malicious scripts in the context of other users' browsers, potentially leading to session hijacking, credential theft, or other client-side attacks.

Remediation

To address this vulnerability, users should:

  1. Upgrade to a fixed version of dotCMS:
    • Version 23.06 or newer
    • LTS 22.03.7 or newer
    • LTS 23.01.4 or newer

For users who cannot immediately upgrade, the following mitigations are available:

  1. Block URLs containing double slashes at the firewall level
  2. Configure dotCMS environmental variables:
    • Set DOT_URI_NORMALIZATION_FORBIDDEN_STRINGS to include // in the list of invalid strings
    • Use DOT_URI_NORMALIZATION_FORBIDDEN_REGEX for more granular control, such as blocking URLs matching the pattern //html.*

References

  1. Vendor Advisory: https://www.dotcms.com/security/SI-68
  2. GitHub source code reference: https://github.com/dotCMS/core/blob/master/dotCMS/src/main/java/com/dotcms/filters/NormalizationFilter.java#L37

Industry ExposureMost to least
This section illustrates the prevalence of a specific Common Vulnerabilities and Exposures (CVE) across various industries based on customer reports. The ranking displays industries from the most to least affected by this particular vulnerability, offering valuable insight into where this CVE has been most frequently observed. This information can help organizations within these sectors prioritize their security efforts, understand their relative risk exposure compared to their peers, and focus remediation strategies where they are most needed. By understanding the industry-specific impact, organizations can make more informed decisions regarding patching, resource allocation, and overall risk management related to this CVE.

  1. Accommodation & Food Services
    Accommodation & Food Services
  2. Administrative, Support, Waste Management & Remediation Services
    Administrative, Support, Waste Management & Remediation Services
  3. Agriculture, Forestry Fishing & Hunting
    Agriculture, Forestry Fishing & Hunting
  4. Arts, Entertainment & Recreation
    Arts, Entertainment & Recreation
  5. Construction
    Construction
  6. Educational Services
    Educational Services
  7. Finance and Insurance
    Finance and Insurance
  8. Health Care & Social Assistance
    Health Care & Social Assistance
  9. Information
    Information
  10. Management of Companies & Enterprises
    Management of Companies & Enterprises
  11. Manufacturing
    Manufacturing
  12. Mining
    Mining
  13. Other Services (except Public Administration)
    Other Services (except Public Administration)
  14. Professional, Scientific, & Technical Services
    Professional, Scientific, & Technical Services
  15. Public Administration
    Public Administration
  16. Real Estate Rental & Leasing
    Real Estate Rental & Leasing
  17. Retail Trade
    Retail Trade
  18. Transportation & Warehousing
    Transportation & Warehousing
  19. Utilities
    Utilities
  20. Wholesale Trade
    Wholesale Trade

Focus on What Matters

  1. See Everything.
  2. Identify True Risk.
  3. Proactively Mitigate Threats.

Let's talk!

background