CVE-2020-1935:HTTP Request Smuggling vulnerability in Apache Tomcat due to improper header parsing

splash
Back

Description Preview

In Apache Tomcat versions 9.0.0.M1 to 9.0.30, 8.5.0 to 8.5.50, and 7.0.0 to 7.0.99, the HTTP header parsing code used a flawed approach to end-of-line parsing that allowed some invalid HTTP headers to be processed as valid. This vulnerability could enable HTTP Request Smuggling attacks when Tomcat is deployed behind a reverse proxy that incorrectly handles invalid Transfer-Encoding headers in a specific manner. While such a configuration is considered unlikely, successful exploitation could allow attackers to bypass security controls, access unauthorized information, or perform other malicious actions by manipulating HTTP request processing.

Overview

CVE-2020-1935 is a vulnerability in Apache Tomcat's HTTP header parsing mechanism that could lead to HTTP Request Smuggling attacks. The issue occurs because Tomcat incorrectly validates end-of-line sequences in HTTP headers, allowing some malformed headers to be accepted as legitimate. When Tomcat operates behind a reverse proxy that handles these invalid headers differently than Tomcat does, an attacker could potentially craft specially formed requests that are interpreted differently by the proxy and Tomcat, leading to request smuggling.

HTTP Request Smuggling (CWE-444) is a technique where an attacker exploits discrepancies in parsing HTTP requests between two HTTP devices (typically a proxy/load balancer and a web server) to "smuggle" unauthorized HTTP requests to the backend server. This can potentially lead to cache poisoning, request hijacking, or bypassing of security controls.

The vulnerability affects multiple versions of Apache Tomcat across three major release branches: 7.x, 8.5.x, and 9.0.x.

Remediation

To address this vulnerability, users should upgrade to the following patched versions of Apache Tomcat:

  • For Tomcat 9.x: Upgrade to version 9.0.31 or later
  • For Tomcat 8.5.x: Upgrade to version 8.5.51 or later
  • For Tomcat 7.x: Upgrade to version 7.0.100 or later

If immediate upgrading is not possible, the following mitigations can reduce risk:

  1. Ensure that any reverse proxy in front of Tomcat is configured to strictly validate HTTP headers
  2. Configure firewalls to block malformed HTTP requests
  3. Monitor for suspicious HTTP traffic patterns that might indicate request smuggling attempts

Organizations using vendor-specific distributions of Tomcat (such as those included in Oracle products or Linux distributions) should apply vendor-provided patches as they become available.

References

  1. Apache Tomcat Security Announcement: https://lists.apache.org/thread.html/r127f76181aceffea2bd4711b03c595d0f115f63e020348fe925a916c%40%3Cannounce.tomcat.apache.org%3E
  2. Oracle Security Advisory: https://www.oracle.com/security-alerts/cpujul2020.html
  3. NetApp Security Advisory: https://security.netapp.com/advisory/ntap-20200327-0005/
  4. Ubuntu Security Notice: https://usn.ubuntu.com/4448-1/
  5. Debian Security Advisory: https://www.debian.org/security/2020/dsa-4673
  6. MITRE CWE-444 (HTTP Request Smuggling): https://cwe.mitre.org/data/definitions/444.html

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

Focus on What Matters

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

Let's talk!

background