CVE-2016-4553 in Squidinfo

Summary

by MITRE

client_side.cc in Squid before 3.5.18 and 4.x before 4.0.10 does not properly ignore the Host header when absolute-URI is provided, which allows remote attackers to conduct cache-poisoning attacks via an HTTP request.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 08/18/2022

The vulnerability identified as CVE-2016-4553 represents a critical cache poisoning flaw in the Squid HTTP proxy server software. This issue affects versions prior to 3.5.18 and 4.0.10, where the proxy server fails to properly handle the Host header when an absolute URI is present in HTTP requests. The flaw stems from improper processing logic that does not adequately sanitize or disregard the Host header field when the request contains a complete absolute URI, creating a pathway for malicious actors to manipulate the proxy's caching mechanism. The vulnerability is particularly concerning because it allows remote attackers to inject malicious content into the proxy's cache, potentially affecting all subsequent requests that utilize the poisoned cache entries.

The technical implementation of this vulnerability involves the client_side.cc component within Squid's codebase, which processes incoming HTTP requests and determines how to handle the Host header field. When an HTTP request contains an absolute URI format such as http://example.com/path, the proxy should ignore the Host header since the absolute URI already provides complete host information. However, the flawed implementation fails to properly strip or disregard the Host header in these scenarios, leading to inconsistent behavior in cache key generation and storage. This inconsistency enables attackers to craft specially formatted requests that can cause the proxy to store cached responses under different keys than intended, or to manipulate existing cache entries by exploiting the improper Host header handling.

The operational impact of this vulnerability extends beyond simple cache poisoning, as it can enable a range of sophisticated attacks including content injection, man-in-the-middle scenarios, and potential information disclosure. An attacker can leverage this flaw to inject malicious content into the proxy cache, which will then be served to other users who make subsequent requests to the same resources. The vulnerability aligns with CWE-444, which describes improper handling of HTTP requests and responses, specifically focusing on the inadequate processing of HTTP headers. From an adversarial perspective, this vulnerability maps to ATT&CK technique T1566.002, which involves the use of cache poisoning as a method for delivering malicious content to victims.

Mitigation strategies for CVE-2016-4553 require immediate patching of affected Squid installations to versions 3.5.18 or 4.0.10, which contain the necessary fixes for proper Host header handling. Organizations should also implement network monitoring to detect anomalous HTTP request patterns that might indicate exploitation attempts, particularly those involving absolute URIs with conflicting Host header values. Additionally, security teams should review proxy configuration settings to ensure that cache behavior is properly constrained and that appropriate access controls are implemented. The fix implemented in the patched versions ensures that when absolute URIs are present in HTTP requests, the Host header is properly ignored during cache key generation, preventing the injection of malicious content into the proxy cache while maintaining proper HTTP protocol compliance.

Reservation

05/06/2016

Disclosure

05/10/2016

Moderation

accepted

Entry

VDB-87133

CPE

ready

EPSS

0.82841

KEV

no

Activities

very low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!