Bug 770929 (hashdos, oCERT-2011-003)

Summary: Hash table collisions CPU usage DoS (oCERT-2011-003)
Product: [Other] Security Response Reporter: Tomas Hoger <thoger>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: kseifried, mjc, vdanen
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: impact=moderate,public=20111228,reported=20111101,source=distros,cvss2=5.0/AV:N/AC:L/Au:N/C:N/I:N/A:P
Fixed In Version: Doc Type: Bug Fix
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: ---
Bug Depends On: 750533, 770820, 772720, 781606, 796015, 800531, 750521, 750547, 750555, 750564, 750575, 771149, 771283, 771428, 781677, 781683, 782163, 786617, 787067, 787103, 787104, 787109, 787888, 787890, 787915, 788183, 788606, 1032311    
Bug Blocks:    

Description Tomas Hoger 2011-12-30 05:06:46 EST
Julian Wälde and Alexander Klink presented on 28th Chaos Communication Congress (28C3) ways to trigger high CPU use in various programming languages and frameworks used for web application programming by generating collisions in hash functions used in implementations of associative arrays in the language.  This is a tracker bug that links other language / component specific bugs.

Comment 6 Vincent Danen 2012-01-09 14:10:34 EST
I've added a bug for glib2 (bug #772720).  Unfortunately, it looks like glib2 may be embedded and/or have had the vulnerable function copied to other programs; see the bug for the details (some may be false hits though, especially for the Fedora packages listed).
Comment 7 Tomas Hoger 2012-01-12 08:21:56 EST
Note for posterity - perl got randomized hashes to protect against this class of attacks back in 2003.  References:

Comment 8 Vincent Danen 2012-01-13 15:36:38 EST
Bug #781606 has been filed for apr, where apr_hash() may be vulnerable to the same thing.