Bug 844522 (CVE-2012-3443)

Summary: CVE-2012-3443 Django: 1.3.1 and 1.4.0 Denial-of-service in image validation
Product: [Other] Security Response Reporter: Kurt Seifried <kseifried>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: apevec, dmalcolm, michel, mrunge, smilner
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-09-12 19:19:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 844523, 844524    
Bug Blocks:    

Description Kurt Seifried 2012-07-31 01:58:13 UTC
James Bennett of the Django Project reports:

Security releases issued

Today the Django team is issuing multiple releases -- Django 1.3.2 and
Django 1.4.1 -- to remedy security issues reported to us.

All users are encouraged to upgrade Django immediately.
 
Denial-of-service in image validation

Django's form system includes field types for handling file uploads,
including a field class -- django.forms.ImageField -- for uploading
images, which can perform some validation of image formats.

Part of that validation involves detecting corrupted image files,
using routines provided by the Python Imaging Library (PIL).

The check as it currently exists in Django is vulnerable, however,
because it will read the entire image file, including decompressing
compressed formats as needed. It is trivially possible to craft a
reasonably-sized file which, when decompressed in this fashion, grows
to enormous size, consuming available memory and offering the ability
to perform a denial-of-service attack.

To mitigate this, image validation will now make use of PIL's
Image.verify() method, which performs some validation checks but does
not decompress or read the entire image file.

References:

https://www.djangoproject.com/weblog/2012/jul/30/security-releases-issued/

Comment 1 Kurt Seifried 2012-07-31 01:59:27 UTC
Created Django tracking bugs for this issue

Affects: fedora-all [bug 844523]

Comment 2 Kurt Seifried 2012-07-31 02:00:22 UTC
Created Django tracking bugs for this issue

Affects: epel-all [bug 844524]

Comment 3 Fedora Update System 2012-08-10 22:27:03 UTC
Django-1.4.1-1.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 4 Fedora Update System 2012-08-10 22:33:51 UTC
Django-1.3.2-1.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 5 Fedora Update System 2012-08-21 18:35:14 UTC
Django-1.3.2-1.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.