{"id":"CVE-2013-0156","aliases":["DEBIAN-CVE-2013-0156","DSA-2604-1","EUVD-2017-0264","GHSA-jmgw-6vjg-jjwg","RHSA-2013:0153","UBUNTU-CVE-2013-0156","openSUSE-SU-2024:10188-1"],"status":"published","title":"actionpack Improper Input Validation vulnerability","description":"active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","severity":{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.98979,"percentile":0.99929,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-20"],"published":"2013-01-09T00:00:00Z","modified":"2026-09-01T20:03:14Z","exploits":[{"source":"exploitdb","id":"EDB-24019","title":"Ruby on Rails - XML Processor YAML Deserialization Code Execution (Metasploit)","type":"remote","platform":"multiple","date":"2013-01-10","verified":true,"url":"https://www.exploit-db.com/exploits/24019"},{"source":"exploitdb","id":"EDB-27527","title":"Ruby on Rails - Known Secret Session Cookie Remote Code Execution (Metasploit)","type":"remote","platform":"multiple","date":"2013-08-12","verified":true,"url":"https://www.exploit-db.com/exploits/27527"},{"source":"metasploit","id":"exploit/multi/http/rails_secret_deserialization","title":"Ruby on Rails Known Secret Session Cookie Remote Code Execution","type":"exploit","platform":"Ruby","date":"2013-04-11","verified":true,"url":"https://www.rapid7.com/db/modules/exploit/multi/http/rails_secret_deserialization"},{"source":"metasploit","id":"exploit/multi/http/rails_xml_yaml_code_exec","title":"Ruby on Rails XML Processor YAML Deserialization Code Execution","type":"exploit","platform":"Ruby","date":"2013-01-07","verified":true,"url":"https://www.rapid7.com/db/modules/exploit/multi/http/rails_xml_yaml_code_exec"},{"source":"pocgithub","id":"7s26simon/CVE-2013-0156","title":"7s26simon/CVE-2013-0156","date":"2025-12-11","url":"https://github.com/7s26simon/CVE-2013-0156"},{"source":"pocgithub","id":"Jjdt12/kuang_grade_mk11","title":"Jjdt12/kuang_grade_mk11","date":"2023-07-29","url":"https://github.com/Jjdt12/kuang_grade_mk11"},{"source":"pocgithub","id":"R3dKn33-zz/CVE-2013-0156","title":"R3dKn33-zz/CVE-2013-0156","date":"2019-05-27","url":"https://github.com/R3dKn33-zz/CVE-2013-0156"},{"source":"pocgithub","id":"bsodmike/rails-exploit-cve-2013-0156","title":"bsodmike/rails-exploit-cve-2013-0156","date":"2013-01-12","url":"https://github.com/bsodmike/rails-exploit-cve-2013-0156"},{"source":"pocgithub","id":"heroku/heroku-CVE-2013-0156","title":"heroku/heroku-CVE-2013-0156","date":"2013-01-11","url":"https://github.com/heroku/heroku-CVE-2013-0156"},{"source":"pocgithub","id":"josal/crack-0.1.8-fixed","title":"josal/crack-0.1.8-fixed","date":"2013-01-11","url":"https://github.com/josal/crack-0.1.8-fixed"},{"source":"pocgithub","id":"oxben10/CVE-2013-0156","title":"oxben10/CVE-2013-0156","date":"2024-11-13","url":"https://github.com/oxben10/CVE-2013-0156"},{"source":"pocgithub","id":"terracatta/name_reverser","title":"terracatta/name_reverser","date":"2013-01-10","url":"https://github.com/terracatta/name_reverser"},{"source":"metasploit","id":"auxiliary/scanner/http/rails_xml_yaml_scanner","title":"Ruby on Rails XML Processor YAML Deserialization Scanner","type":"auxiliary","verified":true,"url":"https://www.rapid7.com/db/modules/auxiliary/scanner/http/rails_xml_yaml_scanner"}],"fixes":[{"ecosystem":"RubyGems","package":"actionpack","fixed_in":["2.3.15","3.0.19","3.1.10","3.2.11"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"rails","fixed_in":["2.3.14.1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"rails","fixed_in":["2.3.14.1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"rails","fixed_in":["2.3.14.1"],"sources":["osv"]},{"ecosystem":"Debian:6.0","package":"rails","fixed_in":["2.3.5-1.2+squeeze4.1"],"sources":["osv"]},{"ecosystem":"Red Hat:openshift:1::el6","package":"ruby193-rubygem-actionpack","fixed_in":["1:3.2.8-2.el6"],"sources":["osv"]},{"ecosystem":"Red Hat:openshift:1::el6","package":"ruby193-rubygem-actionpack-doc","fixed_in":["1:3.2.8-2.el6"],"sources":["osv"]},{"ecosystem":"Red Hat:openshift:1::el6","package":"ruby193-rubygem-activesupport","fixed_in":["1:3.2.8-3.el6"],"sources":["osv"]},{"ecosystem":"Red Hat:openshift:1::el6","package":"rubygem-actionpack","fixed_in":["1:3.0.13-2.1.el6op"],"sources":["osv"]},{"ecosystem":"Red Hat:openshift:1::el6","package":"rubygem-activesupport","fixed_in":["1:3.0.13-2.el6op"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"rubygem-extlib","fixed_in":["0.9.16-7.4"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.15"}]}]},{"source":"ghsa","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"3.0.19"}]}]},{"source":"ghsa","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.1.0"},{"fixed":"3.1.10"}]}]},{"source":"ghsa","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.2.0"},{"fixed":"3.2.11"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.14.1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.14.1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.14.1"}]}]},{"source":"osv","ecosystem":"Debian:6.0","package":"rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.5-1.2+squeeze4.1"}]}],"versions":["2.3.5-1.2","2.3.5-1.2+squeeze0.1","2.3.5-1.2+squeeze1","2.3.5-1.2+squeeze2","2.3.5-1.2+squeeze3","2.3.5-1.2+squeeze4"]},{"source":"osv","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.15"}]}],"versions":["0.9.0","0.9.5","1.0.0","1.0.1","1.1.0","1.10.1","1.10.2","1.11.0","1.11.1","1.11.2","1.12.0","1.12.1","1.12.2","1.12.3","1.12.4","1.12.5","1.13.0","1.13.1","1.13.2","1.13.3","1.13.4","1.13.5","1.13.6","1.2.0","1.3.0","1.3.1","1.4.0","1.5.0","1.5.1","1.6.0","1.7.0","1.8.0","1.8.1","1.9.0","1.9.1","2.0.0","2.0.1","2.0.2","2.0.4","2.0.5","2.1.0","2.1.1","2.1.2","2.2.2","2.2.3","2.3.10","2.3.11","2.3.12","2.3.14","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.3.8.pre1","2.3.9","2.3.9.pre"]},{"source":"osv","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"3.0.19"}]}],"versions":["3.0.0","3.0.1","3.0.10","3.0.10.rc1","3.0.11","3.0.12","3.0.12.rc1","3.0.13","3.0.13.rc1","3.0.14","3.0.15","3.0.16","3.0.17","3.0.18","3.0.2","3.0.3","3.0.4","3.0.4.rc1","3.0.5","3.0.5.rc1","3.0.6","3.0.6.rc1","3.0.6.rc2","3.0.7","3.0.7.rc1","3.0.7.rc2","3.0.8","3.0.8.rc1","3.0.8.rc2","3.0.8.rc4","3.0.9","3.0.9.rc1","3.0.9.rc3","3.0.9.rc4","3.0.9.rc5"]},{"source":"osv","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.1.0"},{"fixed":"3.1.10"}]}],"versions":["3.1.0","3.1.1","3.1.1.rc1","3.1.1.rc2","3.1.1.rc3","3.1.2","3.1.2.rc1","3.1.2.rc2","3.1.3","3.1.4","3.1.4.rc1","3.1.5","3.1.5.rc1","3.1.6","3.1.7","3.1.8","3.1.9"]},{"source":"osv","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.2.0"},{"fixed":"3.2.11"}]}],"versions":["3.2.0","3.2.1","3.2.10","3.2.2","3.2.2.rc1","3.2.3","3.2.3.rc1","3.2.3.rc2","3.2.4","3.2.4.rc1","3.2.5","3.2.6","3.2.7","3.2.7.rc1","3.2.8","3.2.8.rc1","3.2.8.rc2","3.2.9","3.2.9.rc1","3.2.9.rc2","3.2.9.rc3"]},{"source":"osv","ecosystem":"Red Hat:openshift:1::el6","package":"ruby193-rubygem-actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:3.2.8-2.el6"}]}]},{"source":"osv","ecosystem":"Red Hat:openshift:1::el6","package":"ruby193-rubygem-actionpack-doc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:3.2.8-2.el6"}]}]},{"source":"osv","ecosystem":"Red Hat:openshift:1::el6","package":"ruby193-rubygem-activesupport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:3.2.8-3.el6"}]}]},{"source":"osv","ecosystem":"Red Hat:openshift:1::el6","package":"rubygem-actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:3.0.13-2.1.el6op"}]}]},{"source":"osv","ecosystem":"Red Hat:openshift:1::el6","package":"rubygem-activesupport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:3.0.13-2.el6op"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"rubygem-extlib","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.16-7.4"}]}]}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"rubyonrails","product":"rails"},{"vendor":"rubyonrails","product":"ruby_on_rails"}],"references":[{"url":"https://groups.google.com/group/rubyonrails-security/msg/c1432d0f8c70e89d?dmode=source\u0026output=gplain","tags":["mailing-list","x_refsource_MLIST","x_transferred","Third Party Advisory","advisory","web"]},{"url":"http://www.insinuator.net/2013/01/rails-yaml/","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","report"]},{"url":"http://rhn.redhat.com/errata/RHSA-2013-0155.html","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Third Party Advisory","advisory","web"]},{"url":"http://www.kb.cert.org/vuls/id/628463","tags":["third-party-advisory","x_refsource_CERT-VN","x_transferred","Third Party Advisory","US Government Resource","advisory","web"]},{"url":"https://community.rapid7.com/community/metasploit/blog/2013/01/09/serialization-mischief-in-ruby-land-cve-2013-0156","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"http://www.fujitsu.com/global/support/software/security/products-f/sw-sv-rcve-ror201301e.html","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"http://www.kb.cert.org/vuls/id/380039","tags":["third-party-advisory","x_refsource_CERT-VN","x_transferred","Third Party Advisory","US Government Resource","advisory","web"]},{"url":"http://lists.apple.com/archives/security-announce/2013/Mar/msg00002.html","tags":["vendor-advisory","x_refsource_APPLE","x_transferred","Mailing List","Third Party Advisory","advisory","article"]},{"url":"http://www.debian.org/security/2013/dsa-2604","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred","Third Party Advisory","advisory","web"]},{"url":"http://ics-cert.us-cert.gov/advisories/ICSA-13-036-01A","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","US Government Resource","advisory"]},{"url":"http://rhn.redhat.com/errata/RHSA-2013-0154.html","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://puppet.com/security/cve/cve-2013-0156","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory"]},{"url":"http://weblog.rubyonrails.org/2013/1/28/Rails-3-0-20-and-2-3-16-have-been-released/","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory"]},{"url":"http://rhn.redhat.com/errata/RHSA-2013-0153.html","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2013-0156","tags":["advisory"]},{"url":"https://web.archive.org/web/20140111025708/http://lists.apple.com/archives/security-announce/2013/Mar/msg00002.html","tags":["web"]},{"url":"https://web.archive.org/web/20160415043747/https://ics-cert.us-cert.gov/advisories/ICSA-13-036-01A","tags":["web"]},{"url":"https://web.archive.org/web/20160806154149/https://puppet.com/security/cve/cve-2013-0156/"},{"url":"https://github.com/advisories/GHSA-jmgw-6vjg-jjwg"},{"url":"https://security-tracker.debian.org/tracker/CVE-2013-0156","tags":["advisory"]},{"url":"https://github.com/rails/rails","tags":["package"]},{"url":"https://web.archive.org/web/20160806154149/https://puppet.com/security/cve/cve-2013-0156","tags":["web"]},{"url":"http://weblog.rubyonrails.org/2013/1/28/Rails-3-0-20-and-2-3-16-have-been-released","tags":["web"]},{"url":"http://www.insinuator.net/2013/01/rails-yaml","tags":["web"]},{"url":"https://access.redhat.com/errata/RHSA-2013:0153","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#critical","tags":["article"]},{"url":"https://access.redhat.com/knowledge/solutions/290903","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=892870","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2013/rhsa-2013_0153.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2013-0156","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2013-0156","tags":["advisory","report"]},{"url":"https://ubuntu.com/security/CVE-2013-0156","tags":["report"]},{"url":"http://www.openwall.com/lists/oss-security/2013/01/08/14","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2013-0156","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2013-0156","description":"active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","status":"published","published":"2013-01-13T22:00:00Z","modified":"2024-08-06T14:18:09.436Z","updated_at":"2026-11-02T14:34:59.551717Z"}],"euvd":[{"id":"EUVD-2017-0264","description":"active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","status":"published","published":"2013-01-13T22:00:00Z","modified":"2024-08-06T14:18:09Z","updated_at":"2026-11-03T01:56:45.704567Z"}],"ghsa":[{"id":"GHSA-jmgw-6vjg-jjwg","title":"actionpack Improper Input Validation vulnerability","description":"`active_support/core_ext/hash/conversions.rb` in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","status":"published","published":"2017-10-24T18:33:37Z","modified":"2023-02-15T22:23:01Z","cwes":["CWE-20"],"updated_at":"2026-11-02T14:36:45.67005Z"}],"nvd":[{"id":"CVE-2013-0156","description":"active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","status":"published","published":"2013-01-13T22:55:00.947Z","modified":"2026-06-16T23:48:52.04Z","cvss":[{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:02:21.222658Z"}],"osv":[{"id":"CVE-2013-0156","description":"active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","status":"published","published":"2013-01-13T22:55:00Z","modified":"2026-04-10T03:42:36.708776Z","updated_at":"2026-11-02T15:43:58.802805Z"},{"id":"DEBIAN-CVE-2013-0156","description":"active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","status":"published","published":"2013-01-13T22:55:00.947Z","modified":"2026-09-01T20:03:14.616420958Z","updated_at":"2026-11-02T15:45:25.218101Z"},{"id":"DSA-2604-1","title":"rails - insufficient input validation","status":"published","published":"2013-01-09T00:00:00Z","modified":"2026-03-09T01:20:31.050707Z","updated_at":"2026-11-02T15:46:15.489951Z"},{"id":"GHSA-jmgw-6vjg-jjwg","title":"actionpack Improper Input Validation vulnerability","description":"`active_support/core_ext/hash/conversions.rb` in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","status":"published","published":"2017-10-24T18:33:37Z","modified":"2024-11-30T05:30:38.293209Z","cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:50.687609Z"},{"id":"openSUSE-SU-2024:10188-1","title":"ruby2.2-rubygem-extlib-0.9.16-7.4 on GA media","description":"These are all security issues fixed in the ruby2.2-rubygem-extlib-0.9.16-7.4 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:08:51.948974Z","updated_at":"2026-11-02T16:58:33.135986Z"},{"id":"RHSA-2013:0153","title":"Red Hat Security Advisory: Ruby on Rails security update","status":"published","published":"2024-09-15T20:31:35Z","modified":"2026-03-27T10:01:25Z","updated_at":"2026-11-02T15:53:01.495018Z"},{"id":"UBUNTU-CVE-2013-0156","description":"active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.","status":"withdrawn","published":"2013-01-13T22:55:00Z","modified":"2025-07-16T08:10:39.591244Z","updated_at":"2026-11-02T15:54:06.854805Z"}]}}
