{"id":"CVE-2020-25739","aliases":["DEBIAN-CVE-2020-25739","DLA-2380-1","EUVD-2021-0786","GHSA-78vq-9j56-wrfr","UBUNTU-CVE-2020-25739","USN-4560-1"],"status":"published","title":"Gon gem lack of escaping certain input when outputting as JSON","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","severity":{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.01376,"percentile":0.72405,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2020-09-23T13:53:14Z","modified":"2026-10-26T12:01:05Z","fixes":[{"ecosystem":"RubyGems","package":"gon","fixed_in":["6.4.0"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"ruby-gon","fixed_in":["6.4.0-1"],"sources":["osv"]},{"ecosystem":"Debian:9","package":"ruby-gon","fixed_in":["6.1.0-1+deb9u1"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"ruby-gon","fixed_in":["6.1.0-1+deb9u1build0.18.04.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"gon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.4.0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"ruby-gon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.4.0-1"}]}]},{"source":"osv","ecosystem":"Debian:9","package":"ruby-gon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-1+deb9u1"}]}],"versions":["6.1.0-1"]},{"source":"osv","ecosystem":"RubyGems","package":"gon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.4.0"}]}],"versions":["0.1.0","0.1.1","0.2.0","0.2.1","0.2.2","0.3.0","1.0.0","1.1.0","1.1.1","1.1.2","1.1.3","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.1.0","2.1.2","2.2.0","2.2.2","2.3.0","3.0.0","3.0.2","3.0.3","3.0.4","3.0.5","4.0.0","4.0.1","4.0.2","4.0.3","4.1.0","4.1.1","5.0.0","5.0.1","5.0.2","5.0.3","5.0.4","5.1.0","5.1.1","5.1.2","5.2.0","5.2.1","5.2.2","5.2.3","6.0.0","6.0.1","6.1.0","6.2.0","6.2.1","6.3.1","6.3.2"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"ruby-gon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.2.3-2","6.0.1-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"ruby-gon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-1+deb9u1build0.18.04.1"}]}],"versions":["6.1.0-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"ruby-gon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.2.1-1","6.3.2-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"ruby-gon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-1+deb9u1build0.18.04.1"}]}],"versions":["6.1.0-1"]}],"products":[{"vendor":"canonical","product":"ubuntu_linux"},{"vendor":"debian","product":"debian_linux"},{"vendor":"gon_project","product":"gon"}],"references":[{"url":"https://github.com/gazay/gon/commit/fe3c7b2191a992386dc9edd37de5447a4e809bc7","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2020/09/msg00018.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://usn.ubuntu.com/4560-1/","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-25739","tags":["advisory"]},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/gon/CVE-2020-25739.yml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-78vq-9j56-wrfr"},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-25739","tags":["advisory"]},{"url":"https://github.com/gazay/gon","tags":["package"]},{"url":"https://usn.ubuntu.com/4560-1","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2020-25739","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-4560-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-25739","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2020-25739","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","status":"published","published":"2020-09-23T13:53:14Z","modified":"2024-08-04T15:40:36.985Z","updated_at":"2026-11-02T14:35:48.52216Z"}],"euvd":[{"id":"EUVD-2021-0786","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","status":"published","published":"2020-09-23T13:53:14Z","modified":"2024-08-04T15:40:36Z","updated_at":"2026-11-03T03:07:16.74035Z"}],"ghsa":[{"id":"GHSA-78vq-9j56-wrfr","title":"Gon gem lack of escaping certain input when outputting as JSON","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","status":"published","published":"2021-04-30T17:29:15Z","modified":"2023-08-29T12:13:05Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:37:01.345964Z"}],"nvd":[{"id":"CVE-2020-25739","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","status":"published","published":"2020-09-23T14:15:12.947Z","modified":"2026-06-17T03:07:13.263Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"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:06:15.83396Z"}],"osv":[{"id":"CVE-2020-25739","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","status":"published","published":"2020-09-23T14:15:12.947Z","modified":"2026-10-20T10:52:54.292703116Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:15.879068Z"},{"id":"DEBIAN-CVE-2020-25739","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","status":"published","published":"2020-09-23T14:15:12.947Z","modified":"2026-10-26T12:01:05.150943504Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:33.729655Z"},{"id":"GHSA-78vq-9j56-wrfr","title":"Gon gem lack of escaping certain input when outputting as JSON","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","status":"published","published":"2021-04-30T17:29:15Z","modified":"2024-02-19T05:28:55.784562Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:40.657155Z"},{"id":"UBUNTU-CVE-2020-25739","description":"An issue was discovered in the gon gem before gon-6.4.0 for Ruby. MultiJson does not honor the escape_mode parameter to escape fields as an XSS protection mechanism. To mitigate, json_dumper.rb in gon now does escaping for XSS by default without relying on MultiJson.","status":"published","published":"2020-09-23T14:15:00Z","modified":"2026-02-04T04:04:26.817916Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:23.905183Z"},{"id":"DLA-2380-1","title":"ruby-gon - security update","status":"published","published":"2020-09-26T00:00:00Z","modified":"2026-03-09T01:22:25.608953Z","updated_at":"2026-11-02T15:46:10.712745Z"},{"id":"USN-4560-1","title":"ruby-gon vulnerability","description":"It was discovered that Gon gem did not properly escape certain input. An\nattacker could use this vulnerability to execute a cross-site scripting\n(XSS) attack.\n","status":"published","published":"2020-09-30T17:16:58Z","modified":"2026-04-27T15:43:46.127989Z","updated_at":"2026-11-02T16:58:15.159055Z"}]}}
