CVE-2008-7248 json
Improper Input Validation in actionpack
published 2009-12-16 16 y ago modified 2026-06-16 4 mo ago also GHSA-8fqx-7pv4-3jwm , EUVD-2017-0192
- cvss
- 6.8
- version 2.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 8.1%
- EPSS 8.1% chance of exploitation in 30 days, percentile 94%
- public exploits
- 1
- Exploit-DB
Summary
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.
Patch / fix
- rubygems actionpack 2.1.3, 2.2.2
- rails Debian 14, Debian 13, Debian 12 2.2.3-1
debian advisories DEBIAN-CVE-2008-7248
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2008-7248 updated cvss 4.3
rubygem-actionpack: Potential CSRF protection circumvention
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Timeline
- First public exploit (EDB-33402)
- Published
Exploit prediction
8.08% chance of exploitation in the next 30 days, higher than 94% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- EDB-33402 Ruby on Rails 2.3.5 - 'protect_from_forgery' Cross-Site Request Forgery remote, 2009-12-14
- rorsecurity.info http://www.rorsecurity.info/journal/2008/11/19/circumvent-rails-csrf-protection.html referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 2.0 | 6.8 | AV:N/AC:M/Au:N/C:P/I:P/A:P |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | actionpack | >=2.1.0, <2.1.3 >=2.2.0, <2.2.2 |
2.1.3 2.2.2 |
Classification
- Weakness
-
- CWE-20 Improper Input Validation
- Technology feeds
References
-
github.com
/rails/rails/commit/099a98e9b7108dae3e0f78b207e0a7dc5913bd1a
web
-
rorsecurity.info
/journal/2008/11/19/circumvent-rails-csrf-protection.html
exploit
-
lists.opensuse.org
/opensuse-security-announce/2010-03/msg00004.html
vendor-advisory, web
-
secunia.com
/advisories/36600
third-party-advisory, vendor-advisory
-
vupen.com
/english/advisories/2009/2544
vdb-entry, vendor-advisory
-
openwall.com
/lists/oss-security/2009/11/28/1
mailing-list, web
- pseudo-flaw.net /content/web-browsers/form-data-encoding-roundup/
-
weblog.rubyonrails.org
/2008/11/18/potential-circumvention-of-csrf-protection-in-rails-2-1
web
-
groups.google.com
/group/rubyonrails-security/browse_thread/thread/d741ee286e36e301?hl=en
web
-
openwall.com
/lists/oss-security/2009/12/02/2
mailing-list, web
-
secunia.com
/advisories/38915
third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2008-7248
advisory
-
access.redhat.com
/security/cve/CVE-2008-7248
web
-
bugzilla.redhat.com
/show_bug.cgi?id=544329
web
-
github.com
/rails/rails
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/actionpack/CVE-2008-7248.yml
web
-
groups.google.com
/group/rubyonrails-security/browse_thread/thread/d741ee286e36e301?hl=en
web
-
lists.opensuse.org
/opensuse-security-announce/2010-03/msg00004.html
web
-
pseudo-flaw.net
/content/web-browsers/form-data-encoding-roundup
web
-
web.archive.org
/web/20090906010200/https://www.vupen.com/english/advisories/2009/2544
web
-
weblog.rubyonrails.org
/2008/11/18/potential-circumvention-of-csrf-protection-in-rails-2-1
web
-
openwall.com
/lists/oss-security/2009/11/28/1
web
-
openwall.com
/lists/oss-security/2009/12/02/2
web
-
rorsecurity.info
/journal/2008/11/19/circumvent-rails-csrf-protection.html
web
-
pseudo-flaw.net
/content/web-browsers/form-data-encoding-roundup
web
Sources
- CVE List CVE-2008-7248
- GitHub Advisory GHSA-8fqx-7pv4-3jwm
- NVD CVE-2008-7248
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.