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.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid-cgi" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid-cgi-dbgsym" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid-common" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid-dbg" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid-dbgsym" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid-purge" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid-purge-dbgsym" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squid3" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squidclient" }, { "binary_version": "3.5.12-1ubuntu7.8", "binary_name": "squidclient-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "3.5.27-1ubuntu1.3", "binary_name": "squid" }, { "binary_version": "3.5.27-1ubuntu1.3", "binary_name": "squid-cgi" }, { "binary_version": "3.5.27-1ubuntu1.3", "binary_name": "squid-common" }, { "binary_version": "3.5.27-1ubuntu1.3", "binary_name": "squid-dbg" }, { "binary_version": "3.5.27-1ubuntu1.3", "binary_name": "squid-purge" }, { "binary_version": "3.5.27-1ubuntu1.3", "binary_name": "squid3" }, { "binary_version": "3.5.27-1ubuntu1.3", "binary_name": "squidclient" } ] }