SkipNavigation
US-CERT
American Flag
  Vulnerability
Notes
Database

Search Vulnerability Notes

Vulnerability Notes Help Information

Report a Vulnerability

 
 View Notes By
  Name

ID Number

CVE Name

Date Public

Date Published

Date Updated

Severity Metric



 Other Documents
  Technical Alerts

Technical Bulletins

Alerts

Security Tips

Vulnerability Note VU#903934

Hash table implementations vulnerable to algorithmic complexity attacks

Overview

Some programming language implementations do not sufficiently randomize their hash functions or provide means to limit key collision attacks, which can be leveraged by an unauthenticated attacker to cause a denial-of-service (DoS) condition.

I. Description

Many applications, including common web framework implementations, use hash tables to map key values to associated entries. If the hash table contains entries for different keys that map to the same hash value, a hash collision occurs and additional processing is required to determine which entry is appropriate for the key. If an attacker can generate many requests containing colliding key values, an application performing the hash table lookup may enter a denial of service condition.

Hash collision denial-of-service attacks were first detailed in 2003, but recent research details how these attacks apply to modern language hash table implementations.

II. Impact

An application can be forced into a denial-of-service condition. In the case of some web application servers, specially-crafted POST form data may result in a denial-of-service.

III. Solution

Apply an update

Please review the Vendor Information section of this document for vendor-specific patch and workaround details.

Limit CPU time

Limiting the processing time for a single request can help minimize the impact of malicious requests.

Limit maximum POST size

Limiting the maximum POST request size can reduce the number of possible predictable collisions, thus reducing the impact of an attack.

Limit maximum request parameters

Some servers offer the option to limit the number of parameters per request, which can also minimize impact.

Vendor Information

VendorStatusDate NotifiedDate Updated
AdobeUnknown2011-11-012011-11-01
Apache TomcatAffected2011-12-28
IBM CorporationUnknown2011-11-012011-11-01
Microsoft CorporationAffected2011-11-012011-12-29
Oracle CorporationUnknown2011-11-012011-11-01
RubyAffected2011-11-012011-12-28
The PHP GroupAffected2011-12-28

References

http://www.ocert.org/advisories/ocert-2011-003.html
http://www.nruns.com/_downloads/advisory28122011.pdf
http://www.cs.rice.edu/~scrosby/hash/CrosbyWallach_UsenixSec2003.pdf
http://technet.microsoft.com/en-us/security/bulletin/ms11-100.mspx

Credit

Thanks to Alexander Klink and Julian Wälde for reporting these vulnerabilities.

This document was written by Jared Allar and David Warren.

Other Information

Date Public:2011-12-28
Date First Published:2011-12-28
Date Last Updated:2011-12-30
CERT Advisory: 
CVE-ID(s):CVE-2011-4815 CVE-2011-3414 CVE-2011-4838 CVE-2011-4885
NVD-ID(s):CVE-2011-4815 CVE-2011-3414 CVE-2011-4838 CVE-2011-4885
US-CERT Technical Alerts: 
Severity Metric:10.80
Document Revision:34

If you have feedback, comments, or additional information about this vulnerability, please send us email.
 

 
Page Corner Image
Produced 2011 by US-CERT, a government organization
Disclaimers and copyright information
Get a PDF Reader