{"id":"CVE-2008-7248","aliases":["DEBIAN-CVE-2008-7248","EUVD-2017-0192","GHSA-8fqx-7pv4-3jwm"],"status":"published","title":"Improper Input Validation in actionpack","description":"Ruby on Rails 2.1 before 2.1.3 and 2.2.x before 2.2.2 does not verify tokens for requests with certain content types, which allows remote attackers to bypass cross-site request forgery (CSRF) protection for requests to applications that rely on this protection, as demonstrated using text/plain.","severity":{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.0808,"percentile":0.94841,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-20"],"published":"2009-12-16T01:00:00Z","modified":"2026-10-23T17:47:23Z","exploits":[{"source":"exploitdb","id":"EDB-33402","title":"Ruby on Rails 2.3.5 - 'protect_from_forgery' Cross-Site Request Forgery","type":"remote","platform":"linux","date":"2009-12-14","verified":true,"url":"https://www.exploit-db.com/exploits/33402"}],"fixes":[{"ecosystem":"RubyGems","package":"actionpack","fixed_in":["2.1.3","2.2.2"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"rails","fixed_in":["2.2.3-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"rails","fixed_in":["2.2.3-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"rails","fixed_in":["2.2.3-1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.1.0"},{"fixed":"2.1.3"}]}]},{"source":"ghsa","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"fixed":"2.2.2"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.3-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.3-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.3-1"}]}]},{"source":"osv","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.1.0"},{"fixed":"2.1.3"}]}],"versions":["2.1.0","2.1.1","2.1.2"]},{"source":"osv","ecosystem":"RubyGems","package":"actionpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"fixed":"2.2.2"}]}]}],"products":[{"vendor":"rubyonrails","product":"rails"}],"references":[{"url":"http://www.openwall.com/lists/oss-security/2009/11/28/1","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"http://www.rorsecurity.info/journal/2008/11/19/circumvent-rails-csrf-protection.html","tags":["x_refsource_MISC","x_transferred","Exploit","evidence"]},{"url":"http://secunia.com/advisories/36600","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred","Vendor Advisory","advisory"]},{"url":"http://pseudo-flaw.net/content/web-browsers/form-data-encoding-roundup/","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"http://weblog.rubyonrails.org/2008/11/18/potential-circumvention-of-csrf-protection-in-rails-2-1","tags":["x_refsource_CONFIRM","x_transferred","article","web"]},{"url":"http://www.vupen.com/english/advisories/2009/2544","tags":["vdb-entry","x_refsource_VUPEN","x_transferred","Vendor Advisory","advisory"]},{"url":"http://groups.google.com/group/rubyonrails-security/browse_thread/thread/d741ee286e36e301?hl=en","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2010-03/msg00004.html","tags":["vendor-advisory","x_refsource_SUSE","x_transferred","web"]},{"url":"http://www.openwall.com/lists/oss-security/2009/12/02/2","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"http://secunia.com/advisories/38915","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2008-7248","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2008-7248","tags":["web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=544329","tags":["web"]},{"url":"https://groups.google.com/group/rubyonrails-security/browse_thread/thread/d741ee286e36e301?hl=en","tags":["web"]},{"url":"https://lists.opensuse.org/opensuse-security-announce/2010-03/msg00004.html","tags":["web"]},{"url":"https://pseudo-flaw.net/content/web-browsers/form-data-encoding-roundup/"},{"url":"https://weblog.rubyonrails.org/2008/11/18/potential-circumvention-of-csrf-protection-in-rails-2-1","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2009/11/28/1","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2009/12/02/2","tags":["web"]},{"url":"https://www.rorsecurity.info/journal/2008/11/19/circumvent-rails-csrf-protection.html","tags":["web"]},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/actionpack/CVE-2008-7248.yml","tags":["web"]},{"url":"https://github.com/rails/rails/commit/099a98e9b7108dae3e0f78b207e0a7dc5913bd1a","tags":["web"]},{"url":"https://web.archive.org/web/20090906010200/https://www.vupen.com/english/advisories/2009/2544","tags":["web"]},{"url":"https://github.com/advisories/GHSA-8fqx-7pv4-3jwm"},{"url":"https://security-tracker.debian.org/tracker/CVE-2008-7248","tags":["advisory"]},{"url":"https://github.com/rails/rails","tags":["package"]},{"url":"https://pseudo-flaw.net/content/web-browsers/form-data-encoding-roundup","tags":["web"]},{"url":"http://pseudo-flaw.net/content/web-browsers/form-data-encoding-roundup","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2008-7248","description":"Ruby on Rails 2.1 before 2.1.3 and 2.2.x before 2.2.2 does not verify tokens for requests with certain content types, which allows remote attackers to bypass cross-site request forgery (CSRF) protection for requests to applications that rely on this protection, as demonstrated using text/plain.","status":"published","published":"2009-12-16T01:00:00Z","modified":"2024-08-07T11:56:14.54Z","updated_at":"2026-11-02T14:34:48.505097Z"}],"euvd":[{"id":"EUVD-2017-0192","description":"Ruby on Rails 2.1 before 2.1.3 and 2.2.x before 2.2.2 does not verify tokens for requests with certain content types, which allows remote attackers to bypass cross-site request forgery (CSRF) protection for requests to applications that rely on this protection, as demonstrated using text/plain.","status":"published","published":"2009-12-16T01:00:00Z","modified":"2024-08-07T11:56:14Z","updated_at":"2026-11-03T01:38:32.679637Z"}],"ghsa":[{"id":"GHSA-8fqx-7pv4-3jwm","title":"Improper Input Validation in actionpack","description":"Ruby on Rails 2.1 before 2.1.3 and 2.2.x before 2.2.2 does not verify tokens for requests with certain content types, which allows remote attackers to bypass cross-site request forgery (CSRF) protection for requests to applications that rely on this protection, as demonstrated using text/plain.","status":"published","published":"2017-10-24T18:33:38Z","modified":"2023-05-26T16:54:59Z","cwes":["CWE-20"],"updated_at":"2026-11-02T14:36:53.103029Z"}],"nvd":[{"id":"CVE-2008-7248","description":"Ruby on Rails 2.1 before 2.1.3 and 2.2.x before 2.2.2 does not verify tokens for requests with certain content types, which allows remote attackers to bypass cross-site request forgery (CSRF) protection for requests to applications that rely on this protection, as demonstrated using text/plain.","status":"published","published":"2009-12-16T01:30:00.217Z","modified":"2026-06-16T23:03:54.96Z","cvss":[{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:01:32.081314Z"}],"osv":[{"id":"CVE-2008-7248","description":"Ruby on Rails 2.1 before 2.1.3 and 2.2.x before 2.2.2 does not verify tokens for requests with certain content types, which allows remote attackers to bypass cross-site request forgery (CSRF) protection for requests to applications that rely on this protection, as demonstrated using text/plain.","status":"published","published":"2009-12-16T01:30:00Z","modified":"2026-04-10T03:40:34.038652Z","updated_at":"2026-11-02T15:43:57.452479Z"},{"id":"DEBIAN-CVE-2008-7248","description":"Ruby on Rails 2.1 before 2.1.3 and 2.2.x before 2.2.2 does not verify tokens for requests with certain content types, which allows remote attackers to bypass cross-site request forgery (CSRF) protection for requests to applications that rely on this protection, as demonstrated using text/plain.","status":"published","published":"2009-12-16T01:30:00.217Z","modified":"2026-10-23T17:47:23.383586052Z","updated_at":"2026-11-02T15:45:23.742363Z"},{"id":"GHSA-8fqx-7pv4-3jwm","title":"Improper Input Validation in actionpack","description":"Ruby on Rails 2.1 before 2.1.3 and 2.2.x before 2.2.2 does not verify tokens for requests with certain content types, which allows remote attackers to bypass cross-site request forgery (CSRF) protection for requests to applications that rely on this protection, as demonstrated using text/plain.","status":"published","published":"2017-10-24T18:33:38Z","modified":"2024-12-07T05:40:24.463173Z","cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:42.437513Z"}]}}
