Squid Squid Cache Squid

Do you want an email whenever new security vulnerabilities are reported in Squid Cache Squid?

By the Year

In 2021 there have been 9 vulnerabilities in Squid Cache Squid with an average score of 6.5 out of ten. Last year Squid had 17 security vulnerabilities published. If vulnerabilities keep coming in at the current rate, it appears that number of security vulnerabilities in Squid in 2021 could surpass last years number. Last year, the average CVE base score was greater by 0.91

Year Vulnerabilities Average Score
2021 9 6.53
2020 17 7.44
2019 11 7.58
2018 5 6.58

It may take a day or so for new Squid vulnerabilities to show up in the stats or in the list of recent security vulnerabilties. Additionally vulnerabilities may be tagged under a different product or component name.

Recent Squid Cache Squid Security Vulnerabilities

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6

CVE-2021-31807 6.5 - Medium - June 08, 2021

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. An integer overflow problem allows a remote server to achieve Denial of Service when delivering responses to HTTP Range requests. The issue trigger is a header that can be expected to exist in HTTP traffic without any malicious intent.

Integer Overflow or Wraparound

Squid before 4.15 and 5.x before 5.0.6

CVE-2021-33620 6.5 - Medium - May 28, 2021

Squid before 4.15 and 5.x before 5.0.6 allows remote servers to cause a denial of service (affecting availability to all clients) via an HTTP response. The issue trigger is a header that can be expected to exist in HTTP traffic without any malicious intent by the server.

Improper Input Validation

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6

CVE-2021-31808 6.5 - Medium - May 27, 2021

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to an input-validation bug, it is vulnerable to a Denial of Service attack (against all clients using the proxy). A client sends an HTTP Range request to trigger this.

Improper Input Validation

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6

CVE-2021-31806 6.5 - Medium - May 27, 2021

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to a memory-management bug, it is vulnerable to a Denial of Service attack (against all clients using the proxy) via HTTP Range request processing.

Output Sanitization

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6

CVE-2021-28652 4.9 - Medium - May 27, 2021

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to incorrect parser validation, it allows a Denial of Service attack against the Cache Manager API. This allows a trusted client to trigger memory leaks that. over time, lead to a Denial of Service via an unspecified short query string. This attack is limited to clients with Cache Manager API access privilege.

Memory Leak

An issue was discovered in Squid 4.x before 4.15 and 5.x before 5.0.6

CVE-2021-28662 6.5 - Medium - May 27, 2021

An issue was discovered in Squid 4.x before 4.15 and 5.x before 5.0.6. If a remote server sends a certain response header over HTTP or HTTPS, there is a denial of service. This header can plausibly occur in benign network traffic.

Output Sanitization

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6

CVE-2021-28651 7.5 - High - May 27, 2021

An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to a buffer-management bug, it allows a denial of service. When resolving a request with the urn: scheme, the parser leaks a small amount of memory. However, there is an unspecified attack methodology that can easily trigger a large amount of memory consumption.

Resource Exhaustion

An issue was discovered in Squid through 4.13 and 5.x through 5.0.4

CVE-2020-25097 8.6 - High - March 19, 2021

An issue was discovered in Squid through 4.13 and 5.x through 5.0.4. Due to improper input validation, it allows a trusted client to perform HTTP Request Smuggling and access services otherwise forbidden by the security controls. This occurs for certain uri_whitespace configuration settings.

Improper Input Validation

Squid through 4.14 and 5.x through 5.0.5, in some configurations

CVE-2021-28116 5.3 - Medium - March 09, 2021

Squid through 4.14 and 5.x through 5.0.5, in some configurations, allows information disclosure because of an out-of-bounds read in WCCP protocol data. This can be leveraged as part of a chain for remote code execution as nobody.

Out-of-bounds Read

An issue was discovered in Squid before 4.13 and 5.x before 5.0.4

CVE-2020-15811 6.5 - Medium - September 02, 2020

An issue was discovered in Squid before 4.13 and 5.x before 5.0.4. Due to incorrect data validation, HTTP Request Splitting attacks may succeed against HTTP and HTTPS traffic. This leads to cache poisoning. This allows any client, including browser scripts, to bypass local security and poison the browser cache and any downstream caches with content from an arbitrary source. Squid uses a string search instead of parsing the Transfer-Encoding header to find chunked encoding. This allows an attacker to hide a second request inside Transfer-Encoding: it is interpreted by Squid as chunked and split out into a second request delivered upstream. Squid will then deliver two distinct responses to the client, corrupting any downstream caches.

HTTP Request Smuggling

An issue was discovered in Squid before 4.13 and 5.x before 5.0.4

CVE-2020-15810 6.5 - Medium - September 02, 2020

An issue was discovered in Squid before 4.13 and 5.x before 5.0.4. Due to incorrect data validation, HTTP Request Smuggling attacks may succeed against HTTP and HTTPS traffic. This leads to cache poisoning. This allows any client, including browser scripts, to bypass local security and poison the proxy cache and any downstream caches with content from an arbitrary source. When configured for relaxed header parsing (the default), Squid relays headers containing whitespace characters to upstream servers. When this occurs as a prefix to a Content-Length header, the frame length specified will be ignored by Squid (allowing for a conflicting length to be used from another Content-Length header) but relayed upstream.

HTTP Request Smuggling

Squid before 4.13 and 5.x before 5.0.4

CVE-2020-24606 7.5 - High - August 24, 2020

Squid before 4.13 and 5.x before 5.0.4 allows a trusted peer to perform Denial of Service by consuming all available CPU cycles during handling of a crafted Cache Digest response message. This only occurs when cache_peer is used with the cache digests feature. The problem exists because peerDigestHandleReply() livelocking in peer_digest.cc mishandles EOF.

Improper Input Validation

An issue was discovered in Squid 5.x before 5.0.3

CVE-2020-14059 6.5 - Medium - June 30, 2020

An issue was discovered in Squid 5.x before 5.0.3. Due to an Incorrect Synchronization, a Denial of Service can occur when processing objects in an SMP cache because of an Ipc::Mem::PageStack::pop ABA problem during access to the memory page/slot management list.

Improper Synchronization

An issue was discovered in Squid before 4.12 and 5.x before 5.0.3

CVE-2020-14058 7.5 - High - June 30, 2020

An issue was discovered in Squid before 4.12 and 5.x before 5.0.3. Due to use of a potentially dangerous function, Squid and the default certificate validation helper are vulnerable to a Denial of Service when opening a TLS connection to an attacker-controlled server for HTTPS. This occurs because unrecognized error values are mapped to NULL, but later code expects that each error value is mapped to a valid error string.

NULL Pointer Dereference

An issue was discovered in http/ContentLengthInterpreter.cc in Squid before 4.12 and 5.x before 5.0.3

CVE-2020-15049 8.8 - High - June 30, 2020

An issue was discovered in http/ContentLengthInterpreter.cc in Squid before 4.12 and 5.x before 5.0.3. A Request Smuggling and Poisoning attack can succeed against the HTTP cache. The client sends an HTTP request with a Content-Length header containing "+\ "-" or an uncommon shell whitespace character prefix to the length field-value.

HTTP Request Smuggling

An issue was discovered in Squid before 5.0.2

CVE-2020-11945 9.8 - Critical - April 23, 2020

An issue was discovered in Squid before 5.0.2. A remote attacker can replay a sniffed Digest Authentication nonce to gain access to resources that are otherwise forbidden. This occurs because the attacker can overflow the nonce reference counter (a short integer). Remote code execution may occur if the pooled token credentials are freed (instead of replayed as valid credentials).

Integer Overflow or Wraparound

An issue was discovered in Squid through 4.7 and 5

CVE-2019-12520 7.5 - High - April 15, 2020

An issue was discovered in Squid through 4.7 and 5. When receiving a request, Squid checks its cache to see if it can serve up a response. It does this by making a MD5 hash of the absolute URL of the request. If found, it servers the request. The absolute URL can include the decoded UserInfo (username and password) for certain protocols. This decoded info is prepended to the domain. This allows an attacker to provide a username that has special characters to delimit the domain, and treat the rest of the URL as a path or query string. An attacker could first make a request to their domain using an encoded username, then when a request for the target domain comes in that decodes to the exact URL, it will serve the attacker's HTML instead of the real HTML. On Squid servers that also act as reverse proxies, this allows an attacker to gain access to features that only reverse proxies can use, such as ESI.

Improper Input Validation

An issue was discovered in Squid through 4.7

CVE-2019-12519 9.8 - Critical - April 15, 2020

An issue was discovered in Squid through 4.7. When handling the tag esi:when when ESI is enabled, Squid calls ESIExpression::Evaluate. This function uses a fixed stack buffer to hold the expression while it's being evaluated. When processing the expression, it could either evaluate the top of the stack, or add a new member to the stack. When adding a new member, there is no check to ensure that the stack won't overflow.

Memory Corruption

An issue was discovered in Squid through 4.7

CVE-2019-12522 4.5 - Medium - April 15, 2020

An issue was discovered in Squid through 4.7. When Squid is run as root, it spawns its child processes as a lesser user, by default the user nobody. This is done via the leave_suid call. leave_suid leaves the Saved UID as 0. This makes it trivial for an attacker who has compromised the child process to escalate their privileges back to root.

Improper Privilege Management

An issue was discovered in Squid through 4.7

CVE-2019-12521 5.9 - Medium - April 15, 2020

An issue was discovered in Squid through 4.7. When Squid is parsing ESI, it keeps the ESI elements in ESIContext. ESIContext contains a buffer for holding a stack of ESIElements. When a new ESIElement is parsed, it is added via addStackElement. addStackElement has a check for the number of elements in this buffer, but it's off by 1, leading to a Heap Overflow of 1 element. The overflow is within the same structure so it can't affect adjacent memory blocks, and thus just leads to a crash while processing.

Memory Corruption

An issue was discovered in Squid through 4.7

CVE-2019-12524 9.8 - Critical - April 15, 2020

An issue was discovered in Squid through 4.7. When handling requests from users, Squid checks its rules to see if the request should be denied. Squid by default comes with rules to block access to the Cache Manager, which serves detailed server information meant for the maintainer. This rule is implemented via url_regex. The handler for url_regex rules URL decodes an incoming request. This allows an attacker to encode their URL to bypass the url_regex check, and gain access to the blocked resource.

Missing Authentication for Critical Function

Squid before 4.9

CVE-2019-18860 6.1 - Medium - March 20, 2020

Squid before 4.9, when certain web browsers are used, mishandles HTML in the host (aka hostname) parameter to cachemgr.cgi.

Injection

An issue was discovered in Squid before 4.10

CVE-2019-12528 7.5 - High - February 04, 2020

An issue was discovered in Squid before 4.10. It allows a crafted FTP server to trigger disclosure of sensitive information from heap memory, such as information associated with other users' sessions or non-Squid processes.

Information Disclosure

An issue was discovered in Squid before 4.10

CVE-2020-8449 7.5 - High - February 04, 2020

An issue was discovered in Squid before 4.10. Due to incorrect input validation, it can interpret crafted HTTP requests in unexpected ways to access server resources prohibited by earlier security filters.

Exposure of Resource to Wrong Sphere

An issue was discovered in Squid before 4.10

CVE-2020-8450 7.3 - High - February 04, 2020

An issue was discovered in Squid before 4.10. Due to incorrect buffer management, a remote client can cause a buffer overflow in a Squid instance acting as a reverse proxy.

Buffer Overflow

An issue was discovered in Squid before 4.10

CVE-2020-8517 7.5 - High - February 04, 2020

An issue was discovered in Squid before 4.10. Due to incorrect input validation, the NTLM authentication credentials parser in ext_lm_group_acl may write to memory outside the credentials buffer. On systems with memory access protections, this can result in the helper process being terminated unexpectedly. This leads to the Squid process also terminating and a denial of service for all clients using the proxy.

Improper Input Validation

An issue was discovered in Squid 3.x and 4.x through 4.8

CVE-2019-18678 5.3 - Medium - November 26, 2019

An issue was discovered in Squid 3.x and 4.x through 4.8. It allows attackers to smuggle HTTP requests through frontend software to a Squid instance that splits the HTTP Request pipeline differently. The resulting Response messages corrupt caches (between a client and Squid) with attacker-controlled content at arbitrary URLs. Effects are isolated to software between the attacker client and Squid. There are no effects on Squid itself, nor on any upstream servers. The issue is related to a request header containing whitespace between a header name and a colon.

HTTP Request Smuggling

An issue was discovered in Squid 3.x and 4.x through 4.8 when the append_domain setting is used (

CVE-2019-18677 6.1 - Medium - November 26, 2019

An issue was discovered in Squid 3.x and 4.x through 4.8 when the append_domain setting is used (because the appended characters do not properly interact with hostname length restrictions). Due to incorrect message processing, it can inappropriately redirect traffic to origins it should not be delivered to.

Session Riding

An issue was discovered in Squid 3.x and 4.x through 4.8

CVE-2019-18676 7.5 - High - November 26, 2019

An issue was discovered in Squid 3.x and 4.x through 4.8. Due to incorrect input validation, there is a heap-based buffer overflow that can result in Denial of Service to all clients using the proxy. Severity is high due to this vulnerability occurring before normal security checks; any remote client that can reach the proxy port can trivially perform the attack via a crafted URI scheme.

Memory Corruption

An issue was discovered in Squid before 4.9

CVE-2019-12526 9.8 - Critical - November 26, 2019

An issue was discovered in Squid before 4.9. URN response handling in Squid suffers from a heap-based buffer overflow. When receiving data from a remote server in response to an URN request, Squid fails to ensure that the response can fit within the buffer. This leads to attacker controlled data overflowing in the heap.

Classic Buffer Overflow

An issue was discovered in Squid 2.x, 3.x, and 4.x through 4.8

CVE-2019-18679 7.5 - High - November 26, 2019

An issue was discovered in Squid 2.x, 3.x, and 4.x through 4.8. Due to incorrect data management, it is vulnerable to information disclosure when processing HTTP Digest Authentication. Nonce tokens contain the raw byte value of a pointer that sits within heap memory allocation. This information reduces ASLR protections and may aid attackers isolating memory areas to target for remote code execution attacks.

Information Disclosure

An issue was discovered in Squid before 4.9

CVE-2019-12523 9.1 - Critical - November 26, 2019

An issue was discovered in Squid before 4.9. When handling a URN request, a corresponding HTTP request is made. This HTTP request doesn't go through the access checks that incoming HTTP requests go through. This causes all access checks to be bypassed and allows access to restricted HTTP servers, e.g., an attacker can connect to HTTP servers that only listen on localhost.

Due to incorrect string termination, Squid cachemgr.cgi 4.0 through 4.7 may access unallocated memory

CVE-2019-12854 7.5 - High - August 15, 2019

Due to incorrect string termination, Squid cachemgr.cgi 4.0 through 4.7 may access unallocated memory. On systems with memory access protections, this can cause the CGI process to terminate unexpectedly, resulting in a denial of service for all clients using it.

Buffer Overflow

An issue was discovered in Squid 2.x through 2.7.STABLE9, 3.x through 3.5.28, and 4.x through 4.7

CVE-2019-12529 5.9 - Medium - July 11, 2019

An issue was discovered in Squid 2.x through 2.7.STABLE9, 3.x through 3.5.28, and 4.x through 4.7. When Squid is configured to use Basic Authentication, the Proxy-Authorization header is parsed via uudecode. uudecode determines how many bytes will be decoded by iterating over the input and checking its table. The length is then used to start decoding the string. There are no checks to ensure that the length it calculates isn't greater than the input buffer. This leads to adjacent memory being decoded as well. An attacker would not be able to retrieve the decoded data unless the Squid maintainer had configured the display of usernames on error pages.

Information Disclosure

An issue was discovered in Squid 4.0.23 through 4.7

CVE-2019-12527 8.8 - High - July 11, 2019

An issue was discovered in Squid 4.0.23 through 4.7. When checking Basic Authentication with HttpHeader::getAuth, Squid uses a global buffer to store the decoded data. Squid does not check that the decoded length isn't greater than the buffer, leading to a heap-based buffer overflow with user controlled data.

Memory Corruption

An issue was discovered in Squid 3.3.9 through 3.5.28 and 4.x through 4.7

CVE-2019-12525 9.8 - Critical - July 11, 2019

An issue was discovered in Squid 3.3.9 through 3.5.28 and 4.x through 4.7. When Squid is configured to use Digest authentication, it parses the header Proxy-Authorization. It searches for certain tokens such as domain, uri, and qop. Squid checks if this token's value starts with a quote and ends with one. If so, it performs a memcpy of its length minus 2. Squid never checks whether the value is just a single quote (which would satisfy its requirements), leading to a memcpy of its length minus 1.

Buffer Overflow

The cachemgr.cgi web module of Squid through 4.7 has XSS

CVE-2019-13345 6.1 - Medium - July 05, 2019

The cachemgr.cgi web module of Squid through 4.7 has XSS via the user_name or auth parameter.

XSS

Squid before 4.4, when SNMP is enabled

CVE-2018-19132 5.9 - Medium - November 09, 2018

Squid before 4.4, when SNMP is enabled, allows a denial of service (Memory Leak) via an SNMP packet.

Missing Release of Resource after Effective Lifetime

Squid before 4.4 has XSS

CVE-2018-19131 6.1 - Medium - November 09, 2018

Squid before 4.4 has XSS via a crafted X.509 certificate during HTTP(S) error page generation for certificate errors.

XSS

This vulnerability allows remote attackers to deny service on vulnerable installations of The Squid Software Foundation Squid 3.5.27-20180318

CVE-2018-1172 5.9 - Medium - May 16, 2018

This vulnerability allows remote attackers to deny service on vulnerable installations of The Squid Software Foundation Squid 3.5.27-20180318. Authentication is not required to exploit this vulnerability. The specific flaw exists within ClientRequestContext::sslBumpAccessCheck(). A crafted request can trigger the dereference of a null pointer. An attacker can leverage this vulnerability to create a denial-of-service condition to users of the system. Was ZDI-CAN-6088.

NULL Pointer Dereference

The Squid Software Foundation Squid HTTP Caching Proxy version prior to version 4.0.23 contains a NULL Pointer Dereference vulnerability in HTTP Response X-Forwarded-For header processing

CVE-2018-1000027 7.5 - High - February 09, 2018

The Squid Software Foundation Squid HTTP Caching Proxy version prior to version 4.0.23 contains a NULL Pointer Dereference vulnerability in HTTP Response X-Forwarded-For header processing that can result in Denial of Service to all clients of the proxy. This attack appear to be exploitable via Remote HTTP server responding with an X-Forwarded-For header to certain types of HTTP request. This vulnerability appears to have been fixed in 4.0.23 and later.

NULL Pointer Dereference

The Squid Software Foundation Squid HTTP Caching Proxy version 3.0 to 3.5.27, 4.0 to 4.0.22 contains a Incorrect Pointer Handling vulnerability in ESI Response Processing

CVE-2018-1000024 7.5 - High - February 09, 2018

The Squid Software Foundation Squid HTTP Caching Proxy version 3.0 to 3.5.27, 4.0 to 4.0.22 contains a Incorrect Pointer Handling vulnerability in ESI Response Processing that can result in Denial of Service for all clients using the proxy.. This attack appear to be exploitable via Remote server delivers an HTTP response payload containing valid but unusual ESI syntax.. This vulnerability appears to have been fixed in 4.0.23 and later.

Stay on top of Security Vulnerabilities

Want an email whenever new vulnerabilities are published for Debian Linux or by Squid Cache? Click the Watch button to subscribe.

Squid Cache
Vendor

subscribe