Bug 1730535 (CVE-2019-12525)

Summary: CVE-2019-12525 squid: parsing of header Proxy-Authentication leads to memory corruption
Product: [Other] Security Response Reporter: Dhananjay Arunesh <darunesh>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: anon.amish, jonathansteffan, kyoshida, luhliari, pavlix, qguo, uwe.knop, yozone
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: squid 4.8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1738582, 1738583, 1730536    
Bug Blocks: 1730537    

Description Dhananjay Arunesh 2019-07-17 04:44:17 UTC
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.

Reference:
http://www.squid-cache.org/Versions/v4/changesets/
https://github.com/squid-cache/squid/commits/v4

Upstream patch:
http://www.squid-cache.org/Versions/v4/changesets/squid-4-7f73e9c5d17664b882ed32590e6af310c247f320.patch

Comment 1 Dhananjay Arunesh 2019-07-17 04:44:37 UTC
Created squid tracking bugs for this issue:

Affects: fedora-all [bug 1730536]

Comment 2 Cedric Buissart 🐶 2019-08-07 10:04:37 UTC
External References:

http://www.squid-cache.org/Advisories/SQUID-2019_3.txt

Comment 4 Cedric Buissart 🐶 2019-08-07 13:53:41 UTC
Mitigation:

Remove 'auth_param digest ...' configuration settings from squid.conf.