Free and open-source vulnerability scanner
Mageni eases for you the vulnerability scanning, assessment, and management process. It is free and open-source.
Install NowAvailable for macOS, Windows, and Linux
SSL/TLS: BREACH attack against HTTP compression
Information
Severity
Severity
Family
Family
CVSSv2 Base
CVSSv2 Base
CVSSv2 Vector
CVSSv2 Vector
Solution Type
Solution Type
Created
Created
Modified
Modified
Summary
SSL/TLS connections are vulnerable to the 'BREACH' (Browser Reconnaissance & Exfiltration via Adaptive Compression of Hypertext) attack.
Insight
Insight
Angelo Prado, Neal Harris and Yoel Gluck reported that SSL/TLS attacks are still viable via a 'BREACH' (Browser Reconnaissance & Exfiltration via Adaptive Compression of Hypertext) attack, which they describe as: While CRIME was mitigated by disabling TLS/SPDY compression (and by modifying gzip to allow for explicit separation of compression contexts in SPDY), BREACH attacks HTTP responses. These are compressed using the common HTTP compression, which is much more common than TLS-level compression. This allows essentially the same attack demonstrated by Duong and Rizzo, but without relying on TLS-level compression (as they anticipated). It is important to note that the attack is agnostic to the version of TLS/SSL, and does not require TLS-layer compression. Additionally, the attack works against any cipher suite. Against a stream cipher, the attack is simpler: The difference in sizes across response bodies is much more granular in this case. If a block cipher is used, additional work must be done to align the output to the cipher text blocks.
Affected Software
Affected Software
BREACH is a category of vulnerabilities and not a specific instance affecting a specific piece of software. To be vulnerable, a web application must: - Be served from a server that uses HTTP-level compression - Reflect user-input in HTTP response bodies - Reflect a secret (such as a CSRF token) in HTTP response bodies
Detection Method
Detection Method
Checks if the remote web server has HTTP compression enabled. Note: Even with HTTP compression enabled the web application hosted on the web server might not be vulnerable. The low Quality of Detection (QoD) of this VT reflects this fact.
Solution
Solution
The following mitigation possibilities are available: 1. Disabling HTTP compression 2. Separating secrets from user input 3. Randomizing secrets per request 4. Masking secrets (effectively randomizing by XORing with a random secret per request) 5. Protecting vulnerable pages with CSRF 6. Length hiding (by adding random number of bytes to the responses) 7. Rate-limiting the requests Note: The mitigations are ordered by effectiveness (not by their practicality - as this may differ from one application to another).