Date: Tue, 29 Jan 2013 10:03:05 +1300 From: Michael Koziarski <michael@...iarski.com> To: rubyonrails-security@...glegroups.com CC: oss-security@...ts.openwall.com Subject: Vulnerability in JSON Parser in Ruby on Rails 3.0 and 2.3 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 There is a vulnerability in the JSON code for Ruby on Rails which allows attackers to bypass authentication systems, inject arbitrary SQL, inject and execute arbitrary code, or perform a DoS attack on a Rails application. This vulnerability has been assigned the CVE identifier CVE-2013-0333. Versions Affected: 2.3.x, 3.0.x Not Affected: 3.1.x, 3.2.x, applications using the yajl gem. Fixed Versions: 3.0.20, 2.3.16 Impact - ------ The JSON Parsing code in Rails 2.3 and 3.0 support multiple parsing backends. One of the backends involves transforming the JSON into YAML, and passing that through the YAML parser. Using a specially crafted payload attackers can trick the backend into decoding a subset of YAML. All users running an affected application should upgrade or use the workaround immediately. Note: This is a separate vulnerability to CVE-2013-0156, if you are running a 2.3 or 3.0 application you must still take action to protect your application. Releases - -------- The 3.0.20 and 2.3.16 releases are available at the normal locations. Workarounds - ----------- If you are unable to upgrade, or apply the patches, you can work around this vulnerability by switching backends to the JSONGem backend. Place this code in an application initializer: ActiveSupport::JSON.backend = "JSONGem" If you are running Ruby 1.8 you will need to ensure that the `json` or `json_pure` gems are installed and in your application's Gemfile. Ruby 1.9 includes this code already. 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. * 2-3-json-parser.patch - Patch for 2.3 series * 3-0-json-parser.patch - Patch for 3.0 series Please note that only the 2.3.x, 3.1.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 Lawrence Pit of Mirror42 for discovering the vulnerability and working closely with us to ensure we shipped a comprehensive fix. Thanks also to the RedHat security response team for helping us with regression testing. - -- Cheers, Koz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlEG54kACgkQ3CszDRD2lfPfbwCgweNGQAAMpvdR74PP8FmN+pKD Z3wAnRXLMDuhdQi5RN++N+553BtmKPDY =5mPg -----END PGP SIGNATURE----- View attachment "2-3-json-parser.patch" of type "text/plain" (22370 bytes) View attachment "3-0-json-parser.patch" of type "text/plain" (23108 bytes)
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.