oss-sec mailing list archives

[CVE-2013-6414] Denial of Service Vulnerability in Action View


From: Aaron Patterson <tenderlove () ruby-lang org>
Date: Tue, 3 Dec 2013 11:06:54 -0800

Denial of Service Vulnerability in Action View

There is a denial of service vulnerability in the header handling component of
Action View. This vulnerability has been assigned the CVE identifier CVE-2013-6414.

Versions Affected:  3.0.0 and all later versions
Not affected:       2.3.x
Fixed Versions:     4.0.2, 3.2.16

Impact 
------ 
Strings sent in specially crafted headers will be cached indefinitely.  This
can cause the cache to grow infinitely, which will eventually consume all
memory on the target machine, causing a denial of service.  All users running
an affected release should either upgrade or use one of the work arounds
immediately. 

Releases 
-------- 
The 4.0.2 & 3.2.16 releases are available at the normal locations. 

Workarounds 
----------- 
Users who cannot upgrade may apply this monkey patch as an initializer to work around the issue:

```
ActiveSupport.on_load(:action_view) do
  ActionView::LookupContext::DetailsKey.class_eval do
    class << self
      alias :old_get :get

      def get(details)
        if details[:formats]
          details = details.dup
          syms    = Set.new Mime::SET.symbols
          details[:formats] = details[:formats].select { |v|
            syms.include? v
          }
        end
        old_get details
      end
    end
  end
end
```

Patches 
------- 
To aid users who aren't able to upgrade immediately we have provided patches for the two supported release series.  
They are in git-am format and consist of a single changeset. 

* 3-0-header_dos.patch - Patch for 3.0 series 
* 3-1-header_dos.patch - Patch for 3.1 series 
* 3-2-header_dos.patch - Patch for 3.2 series 
* 4-0-header_dos.patch - Patch for 4.0 series 

Please note that only the 4.0.x and 3.2.x series are supported at present.  Users of earlier unsupported releases are 
advised to upgrade as soon as possible as we cannot guarantee the continued availability of security fixes for 
unsupported releases.

Credits 
------- 
Thanks to Toby Hsieh of SlideShare for reporting the issue to us


-- 
Aaron Patterson
http://tenderlovemaking.com/

Attachment: 3-0-header_dos.patch
Description:

Attachment: 3-1-header_dos.patch
Description:

Attachment: 3-2-header_dos.patch
Description:

Attachment: 4-0-header_dos.patch
Description:

Attachment: _bin
Description:


Current thread: