Bug 853627 (CVE-2013-6417) - VUL-0: CVE-2013-6417: rubygem-actionpack: unsafe query generation risk (incomplete fix for CVE-2013-0155)
Summary: VUL-0: CVE-2013-6417: rubygem-actionpack: unsafe query generation risk (incom...
Status: RESOLVED FIXED
Alias: CVE-2013-6417
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Major
Target Milestone: ---
Deadline: 2014-02-25
Assignee: Security Team bot
QA Contact: Security Team bot
URL:
Whiteboard: maint:released:sle11-sp2:55505 maint:...
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-04 12:55 UTC by Alexander Bergmann
Modified: 2014-05-21 08:13 UTC (History)
4 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
patch for 3.2.x (2.65 KB, patch)
2013-12-04 12:56 UTC, Alexander Bergmann
Details | Diff
patch for 4.0.x (2.74 KB, patch)
2013-12-04 12:57 UTC, Alexander Bergmann
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Bergmann 2013-12-04 12:55:11 UTC
CVE-2013-6417 is public via oss-security:

Incomplete fix to CVE-2013-0155 (Unsafe Query Generation Risk)

The prior fix to CVE-2013-0155 was incomplete and the use of common 3rd party libraries can accidentally circumvent the protection. This vulnerability has been assigned the CVE identifier CVE-2013-6417.

Versions Affected:  All.
Not affected:       None
Fixed Versions:     4.0.2 & 3.2.16

Impact 
------
Due to the way that Rack::Request and Rails::Request interact, it is possible for a 3rd party or custom rack middleware to parse the parameters insecurely and store them in the same key that Rails uses for its own parameters.  In the event that happens the application will receive unsafe parameters and could be
vulnerable to the earlier vulnerability.

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 
-----------
To work around this issue you need to audit your middleware chain and ensure that each of the libraries in use does not create an instance of Rack::Request. 

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. 

* 4-0-rack-params.patch - Patch for 4.0 series 
* 3-2-rack-params.patch - Patch for 3.2 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 Sudhir Rao for reporting the issue to us and to James Tucker for assisting with the fix.



References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-6417
https://bugzilla.redhat.com/show_bug.cgi?id=1036409
Comment 1 Alexander Bergmann 2013-12-04 12:56:51 UTC
Created attachment 570189 [details]
patch for 3.2.x
Comment 2 Alexander Bergmann 2013-12-04 12:57:15 UTC
Created attachment 570190 [details]
patch for 4.0.x
Comment 3 Jordi Massaguer 2013-12-04 13:08:11 UTC
I am assigning the bug for packaging.
Comment 4 Swamp Workflow Management 2013-12-04 23:00:27 UTC
bugbot adjusting priority
Comment 6 Swamp Workflow Management 2013-12-06 15:26:12 UTC
The SWAMPID for this issue is 55366.
This issue was rated as moderate.
Please submit fixed packages until 2013-12-20.
When done, please reassign the bug to security-team@suse.de.
Patchinfo will be handled by security team.
Comment 8 Bernhard Wiedemann 2013-12-10 17:00:25 UTC
This is an autogenerated message for OBS integration:
This bug (853627) was mentioned in
https://build.opensuse.org/request/show/210399 12.2 / rubygem-actionpack-3_2
https://build.opensuse.org/request/show/210404 12.3 / rubygem-actionpack-3_2
https://build.opensuse.org/request/show/210405 13.1 / rubygem-actionpack-3_2
Comment 9 Bernhard Wiedemann 2013-12-12 18:00:25 UTC
This is an autogenerated message for OBS integration:
This bug (853627) was mentioned in
https://build.opensuse.org/request/show/210711 12.2 / rubygem-actionpack-3_2
https://build.opensuse.org/request/show/210713 12.3 / rubygem-actionpack-3_2
https://build.opensuse.org/request/show/210714 13.1 / rubygem-actionpack-3_2
Comment 11 Swamp Workflow Management 2013-12-18 13:04:31 UTC
openSUSE-SU-2013:1904-1: An update that fixes 5 vulnerabilities is now available.

Category: security (moderate)
Bug References: 853625,853627,853632,853633
CVE References: CVE-2013-0155,CVE-2013-4491,CVE-2013-6414,CVE-2013-6415,CVE-2013-6417
Sources used:
openSUSE 12.3 (src):    rubygem-actionpack-3_2-3.2.12-1.8.1
Comment 12 Swamp Workflow Management 2013-12-18 13:05:28 UTC
openSUSE-SU-2013:1906-1: An update that fixes 5 vulnerabilities is now available.

Category: security (moderate)
Bug References: 853625,853627,853632,853633
CVE References: CVE-2013-0155,CVE-2013-4491,CVE-2013-6414,CVE-2013-6415,CVE-2013-6417
Sources used:
openSUSE 13.1 (src):    rubygem-actionpack-3_2-3.2.13-2.4.1
Comment 13 Swamp Workflow Management 2013-12-18 13:06:13 UTC
openSUSE-SU-2013:1907-1: An update that fixes 5 vulnerabilities is now available.

Category: security (moderate)
Bug References: 853625,853627,853632,853633
CVE References: CVE-2013-0155,CVE-2013-4491,CVE-2013-6414,CVE-2013-6415,CVE-2013-6417
Sources used:
openSUSE 12.2 (src):    rubygem-actionpack-3_2-3.2.12-3.21.1
Comment 14 Swamp Workflow Management 2014-01-03 21:05:46 UTC
openSUSE-SU-2014:0009-1: An update that fixes 5 vulnerabilities is now available.

Category: security (moderate)
Bug References: 846239,853625,853627,853632,853633
CVE References: CVE-2013-4389,CVE-2013-4491,CVE-2013-6414,CVE-2013-6415,CVE-2013-6417
Sources used:
openSUSE 13.1 (src):    rubygem-actionpack-3_2-3.2.13-2.9.1
openSUSE 12.3 (src):    rubygem-actionpack-3_2-3.2.12-1.13.1
openSUSE 12.2 (src):    rubygem-actionpack-3_2-3.2.12-3.26.2
Comment 15 jun wang 2014-01-24 08:09:14 UTC
rubygem-actionpack-3_1 lost the function "deep_munge" in "request.rb"
becuase of the patch CVE-2013-6417:

--- a/actionpack/lib/action_dispatch/http/request.rb
+++ b/actionpack/lib/action_dispatch/http/request.rb
@@ -228,13 +228,13 @@ module ActionDispatch
 
     # Override Rack's GET method to support indifferent access
     def GET
-      @env["action_dispatch.request.query_parameters"] ||= (normalize_parameters(super) || {})
+      @env["action_dispatch.request.query_parameters"] ||= deep_munge(normalize_parameters(super) || {})
     end
     alias :query_parameters :GET
 
     # Override Rack's POST method to support indifferent access
     def POST
-      @env["action_dispatch.request.request_parameters"] ||= (normalize_parameters(super) || {})
+      @env["action_dispatch.request.request_parameters"] ||= deep_munge(normalize_parameters(super) || {})
     end
     alias :request_parameters :POST

so please merge "deep_munge" into "request.rb".
Comment 16 Jordi Massaguer 2014-01-24 11:05:49 UTC
Thanks Jun Wang!!
Comment 17 Tony Yuan 2014-01-24 11:24:57 UTC
Will this be fixed and this update be rebuilt?
Comment 18 Jordi Massaguer 2014-01-24 11:31:12 UTC
I've just packaged it.
Comment 20 Tony Yuan 2014-01-24 13:06:15 UTC
Do we need reject the current workflow (55517) on swamp?
Comment 21 Alexander Bergmann 2014-01-24 13:19:12 UTC
Yes Tony. I'll create a new sub workflow for the new submission.
Comment 22 Sebastian Krahmer 2014-01-28 12:16:05 UTC
released
Comment 23 Swamp Workflow Management 2014-01-28 14:49:40 UTC
Update released for: rubygem-actionpack-3_2, rubygem-actionpack-3_2-doc
Products:
SLE-SLMS 1.3 (x86_64)
SLE-STUDIOONSITE 1.3 (x86_64)
SLE-WEBYAST 1.3 (i386, ia64, ppc64, s390x, x86_64)
Comment 24 Swamp Workflow Management 2014-01-28 18:05:25 UTC
SUSE-SU-2014:0152-1: An update that solves four vulnerabilities and has one errata is now available.

Category: security (moderate)
Bug References: 846239,853625,853627,853632,853633
CVE References: CVE-2013-4491,CVE-2013-6414,CVE-2013-6415,CVE-2013-6417
Sources used:
WebYaST 1.3 (src):    rubygem-actionpack-3_2-3.2.12-0.11.1
SUSE Studio Onsite 1.3 (src):    rubygem-actionpack-3_2-3.2.12-0.11.1
SUSE Lifecycle Management Server 1.3 (src):    rubygem-actionpack-3_2-3.2.12-0.11.1
Comment 26 Swamp Workflow Management 2014-02-11 10:21:31 UTC
The SWAMPID for this issue is 56198.
This issue was rated as moderate.
Please submit fixed packages until 2014-02-25.
When done, please reassign the bug to security-team@suse.de.
Patchinfo will be handled by security team.
Comment 28 Bernhard Wiedemann 2014-04-14 19:00:42 UTC
This is an autogenerated message for OBS integration:
This bug (853627) was mentioned in
https://build.opensuse.org/request/show/230058 Factory / rubygem-actionpack-3_2
Comment 29 Swamp Workflow Management 2014-05-20 21:54:38 UTC
Update released for: hawk, hawk-debuginfo, hawk-debugsource, hawk-templates
Products:
SLE-DEBUGINFO 11-SP3 (i386, ia64, ppc64, s390x, x86_64)
SLE-HAE 11-SP3 (i386, ia64, ppc64, s390x, x86_64)
Comment 30 Swamp Workflow Management 2014-05-21 01:04:49 UTC
SUSE-SU-2014:0686-1: An update that solves 5 vulnerabilities and has one errata is now available.

Category: security (moderate)
Bug References: 846239,853625,853627,853632,853633,854060
CVE References: CVE-2013-4389,CVE-2013-4491,CVE-2013-6414,CVE-2013-6415,CVE-2013-6417
Sources used:
SUSE Linux Enterprise High Availability Extension 11 SP3 (src):    hawk-0.6.1-0.17.1