{"id":"CVE-2015-2963","aliases":["EUVD-2017-0177","GHSA-6jvm-3j5h-79f6"],"status":"published","title":"paperclip Cross-site Scripting vulnerability","description":"The thoughtbot paperclip gem before 4.2.2 for Ruby does not consider the content-type value during media-type validation, which allows remote attackers to upload HTML documents and conduct cross-site scripting (XSS) attacks via a spoofed value, as demonstrated by image/jpeg.","severity":{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.02106,"percentile":0.8187,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2015-07-10T17:00:00Z","modified":"2026-06-17T00:25:03Z","fixes":[{"ecosystem":"RubyGems","package":"paperclip","fixed_in":["4.2.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"paperclip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.2.2"}]}]},{"source":"osv","ecosystem":"RubyGems","package":"paperclip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.2.2"}]}],"versions":["2.1.0","2.1.2","2.1.5","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2.8","2.2.9.1","2.2.9.2","2.3.0","2.3.1","2.3.1.1","2.3.10","2.3.11","2.3.12","2.3.15","2.3.16","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.3.9","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.4.5","2.5.0","2.5.1","2.5.2","2.6.0","2.7.0","2.7.1","2.7.2","2.7.4","2.7.5","2.8.0","3.0.2","3.0.3","3.0.4","3.1.0","3.1.1","3.1.2","3.1.4","3.2.0","3.2.1","3.3.0","3.3.1","3.4.0","3.4.1","3.4.2","3.5.0","3.5.1","3.5.2","3.5.3","3.5.4","4.0.0","4.1.0","4.1.1","4.2.0","4.2.1"]}],"products":[{"vendor":"thoughtbot","product":"paperclip"}],"references":[{"url":"http://www.securityfocus.com/bid/75304","tags":["vdb-entry","x_refsource_BID","x_transferred"]},{"url":"https://robots.thoughtbot.com/paperclip-security-release","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","web"]},{"url":"https://github.com/thoughtbot/paperclip/commit/9aee4112f36058cd28d5fe4a006d6981bd1eda57","tags":["x_refsource_CONFIRM","x_transferred","Exploit","Vendor Advisory","web"]},{"url":"http://jvn.jp/en/jp/JVN83881261/index.html","tags":["third-party-advisory","x_refsource_JVN","x_transferred","Vendor Advisory","web"]},{"url":"http://jvndb.jvn.jp/jvndb/JVNDB-2015-000088","tags":["third-party-advisory","x_refsource_JVNDB","x_transferred","Vendor Advisory","web"]},{"url":"http://openwall.com/lists/oss-security/2015/06/19/3","tags":["mailing-list","x_refsource_MLIST","x_transferred","Vendor Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2015-2963","tags":["advisory"]},{"url":"https://web.archive.org/web/20200228084907/http://www.securityfocus.com/bid/75304","tags":["web"]},{"url":"https://github.com/advisories/GHSA-6jvm-3j5h-79f6"},{"url":"https://github.com/thoughtbot/paperclip","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2015-2963","description":"The thoughtbot paperclip gem before 4.2.2 for Ruby does not consider the content-type value during media-type validation, which allows remote attackers to upload HTML documents and conduct cross-site scripting (XSS) attacks via a spoofed value, as demonstrated by image/jpeg.","status":"published","published":"2015-07-10T17:00:00Z","modified":"2024-08-06T05:32:20.697Z","updated_at":"2026-11-02T14:35:41.621934Z"}],"euvd":[{"id":"EUVD-2017-0177","description":"The thoughtbot paperclip gem before 4.2.2 for Ruby does not consider the content-type value during media-type validation, which allows remote attackers to upload HTML documents and conduct cross-site scripting (XSS) attacks via a spoofed value, as demonstrated by image/jpeg.","status":"published","published":"2015-07-10T17:00:00Z","modified":"2024-08-06T05:32:20Z","updated_at":"2026-11-03T02:22:10.045369Z"}],"ghsa":[{"id":"GHSA-6jvm-3j5h-79f6","title":"paperclip Cross-site Scripting vulnerability","description":"The thoughtbot paperclip gem before 4.2.2 for Ruby does not consider the content-type value during media-type validation, which allows remote attackers to upload HTML documents and conduct cross-site scripting (XSS) attacks via a spoofed value, as demonstrated by image/jpeg.","status":"published","published":"2017-10-24T18:33:36Z","modified":"2023-01-23T20:43:17Z","cwes":["CWE-79"],"updated_at":"2026-11-02T14:36:14.033357Z"}],"nvd":[{"id":"CVE-2015-2963","description":"The thoughtbot paperclip gem before 4.2.2 for Ruby does not consider the content-type value during media-type validation, which allows remote attackers to upload HTML documents and conduct cross-site scripting (XSS) attacks via a spoofed value, as demonstrated by image/jpeg.","status":"published","published":"2015-07-10T17:59:00.093Z","modified":"2026-06-17T00:25:03.1Z","cvss":[{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:03:05.884985Z"}],"osv":[{"id":"GHSA-6jvm-3j5h-79f6","title":"paperclip Cross-site Scripting vulnerability","description":"The thoughtbot paperclip gem before 4.2.2 for Ruby does not consider the content-type value during media-type validation, which allows remote attackers to upload HTML documents and conduct cross-site scripting (XSS) attacks via a spoofed value, as demonstrated by image/jpeg.","status":"published","published":"2017-10-24T18:33:36Z","modified":"2024-11-30T05:38:38.425648Z","cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:39.965326Z"}]}}
