{"id":"CVE-2020-13959","aliases":["DEBIAN-CVE-2020-13959","DLA-2597-1","EUVD-2021-0652","GHSA-fh63-4r66-jc7v","OESA-2021-1122","ROOT-APP-MAVEN-CVE-2020-13959","UBUNTU-CVE-2020-13959","USN-6282-1"],"status":"published","title":"Velocity Tools XSS Vulnerability","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","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-12","score":0.05702,"percentile":0.93122,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2021-03-10T08:00:19Z","modified":"2026-10-26T12:01:27Z","fixes":[{"ecosystem":"Maven","package":"org.apache.velocity.tools:velocity-tools-parent","fixed_in":["3.1"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"velocity-tools","fixed_in":["2.0-8"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"velocity-tools","fixed_in":["2.0-8"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"velocity-tools","fixed_in":["2.0-8"],"sources":["osv"]},{"ecosystem":"Debian:9","package":"velocity-tools","fixed_in":["2.0-6+deb9u1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP1","package":"velocity-tools","fixed_in":["2.0-2.oe1"],"sources":["osv"]},{"ecosystem":"Root:Maven","package":"io.root.org.apache.velocity:velocity-tools","fixed_in":["2.0-root.io.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"velocity-tools","fixed_in":["2.0-4ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"velocity-tools","fixed_in":["2.0-7ubuntu0.18.04.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:20.04:LTS","package":"velocity-tools","fixed_in":["2.0-7ubuntu0.20.04.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.apache.velocity.tools:velocity-tools-parent","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.apache.velocity:velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-8"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-8"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-8"}]}]},{"source":"osv","ecosystem":"Debian:9","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-6+deb9u1"}]}],"versions":["2.0-6"]},{"source":"osv","ecosystem":"Maven","package":"org.apache.velocity.tools:velocity-tools-parent","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1"}]}],"versions":["3.0"]},{"source":"osv","ecosystem":"Maven","package":"org.apache.velocity:velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.0"}]}],"versions":["1.3","2.0","2.0-beta2","2.0-beta3","2.0-beta4"]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP1","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-2.oe1"}]}]},{"source":"osv","ecosystem":"Root:Maven","package":"io.root.org.apache.velocity:velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-root.io.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-4ubuntu0.1~esm1"}]}],"versions":["2.0-3","2.0-4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-7ubuntu0.18.04.1~esm1"}]}],"versions":["2.0-6","2.0-7"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-7ubuntu0.20.04.1"}]}],"versions":["2.0-7"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-4ubuntu0.1~esm1"}]}],"versions":["2.0-3","2.0-4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-7ubuntu0.18.04.1~esm1"}]}],"versions":["2.0-6","2.0-7"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"velocity-tools","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0-7ubuntu0.20.04.1"}]}],"versions":["2.0-7"]}],"products":[{"vendor":"apache","product":"velocity_tools"},{"vendor":"apache software foundation","product":"apache velocity tools"},{"vendor":"debian","product":"debian_linux"}],"references":[{"url":"https://lists.apache.org/thread.html/r6802a38c3041059e763a1aadd7b37fe95de75408144b5805e29b84e3%40%3Cuser.velocity.apache.org%3E","tags":["x_refsource_MISC","mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Vendor Advisory","advisory","web","report"]},{"url":"https://lists.apache.org/thread.html/rb042f3b0090e419cc9f5a3d32cf0baff283ccd6fcb1caea61915d6b6%40%3Ccommits.velocity.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://lists.apache.org/thread.html/rf9868c564cff7adfd5283563f2309b93b3e496354a211a57503b2f72%40%3Cannounce.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"http://www.openwall.com/lists/oss-security/2021/03/10/2","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2021/03/msg00021.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://lists.apache.org/thread.html/r97edad0655770342d2d36620fb1de50b142fcd6c4f5c53dd72ca41d7%40%3Cuser.velocity.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://security.gentoo.org/glsa/202107-52","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-13959","tags":["advisory"]},{"url":"https://lists.apache.org/thread.html/r6802a38c3041059e763a1aadd7b37fe95de75408144b5805e29b84e3@%3Cuser.velocity.apache.org%3E","tags":["web","report"]},{"url":"https://lists.apache.org/thread.html/rb042f3b0090e419cc9f5a3d32cf0baff283ccd6fcb1caea61915d6b6@%3Ccommits.velocity.apache.org%3E","tags":["web","report"]},{"url":"https://lists.apache.org/thread.html/rf9868c564cff7adfd5283563f2309b93b3e496354a211a57503b2f72@%3Cannounce.apache.org%3E","tags":["web","report"]},{"url":"https://lists.apache.org/thread.html/r97edad0655770342d2d36620fb1de50b142fcd6c4f5c53dd72ca41d7@%3Cuser.velocity.apache.org%3E","tags":["web"]},{"url":"https://github.com/advisories/GHSA-fh63-4r66-jc7v"},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-13959","tags":["advisory"]},{"url":"https://openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1122","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2020-13959","tags":["report"]},{"url":"https://www.openwall.com/lists/oss-security/2021/03/10/2","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-6282-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-13959","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2020-13959","title":"Velocity Tools XSS Vulnerability","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","status":"published","published":"2021-03-10T08:00:19Z","modified":"2025-02-13T16:27:31.176Z","cwes":["CWE-79"],"updated_at":"2026-11-02T14:35:53.868619Z"}],"euvd":[{"id":"EUVD-2021-0652","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","status":"published","published":"2021-03-10T08:00:19Z","modified":"2025-02-13T16:27:31Z","cvss":[{"version":"","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"none"}],"updated_at":"2026-11-03T00:03:53.290549Z"}],"ghsa":[{"id":"GHSA-fh63-4r66-jc7v","title":"Cross-site scripting (XSS) in Apache Velocity Tools","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","status":"published","published":"2021-03-12T20:24:22Z","modified":"2023-02-01T05:05:07Z","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:36:32.918681Z"}],"nvd":[{"id":"CVE-2020-13959","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","status":"published","published":"2021-03-10T08:15:14.76Z","modified":"2026-06-17T02:54:00.697Z","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:37.687844Z"}],"osv":[{"id":"CVE-2020-13959","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","status":"published","published":"2021-03-10T08:15:14.76Z","modified":"2026-03-15T22:33:17.62874Z","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:14.418339Z"},{"id":"DEBIAN-CVE-2020-13959","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","status":"published","published":"2021-03-10T08:15:14.76Z","modified":"2026-10-26T12:01:27.528300808Z","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:32.862554Z"},{"id":"GHSA-fh63-4r66-jc7v","title":"Cross-site scripting (XSS) in Apache Velocity Tools","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","status":"published","published":"2021-03-12T20:24:22Z","modified":"2023-11-08T04:02:24.445339Z","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:46.39441Z"},{"id":"OESA-2021-1122","title":"velocity-tools security update","description":"The VelocityTools project is a collection of useful Java classes (aka tools), as well as infrastructure to easily, automatically and transparently make these tools available to Velocity templates. Project include easy integration of Velocity into the view-layer of web applications (via the VelocityViewTag and VelocityViewServlet) and integration with Struts 1.x applications.\r\n\r\nSecurity Fix(es):\r\n\r\nThe default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.(CVE-2020-13959)","status":"published","published":"2021-04-07T11:04:21Z","modified":"2026-08-18T01:15:10.405528602Z","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:52:38.987987Z"},{"id":"UBUNTU-CVE-2020-13959","description":"The default error page for VelocityView in Apache Velocity Tools prior to 3.1 reflects back the vm file that was entered as part of the URL. An attacker can set an XSS payload file as this vm file in the URL which results in this payload being executed. XSS vulnerabilities allow attackers to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.","status":"published","published":"2021-03-10T08:15:00Z","modified":"2026-02-04T04:15:30.046144Z","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:22.804634Z"},{"id":"DLA-2597-1","title":"velocity-tools - security update","status":"published","published":"2021-03-17T00:00:00Z","modified":"2026-03-09T01:21:35.183949Z","updated_at":"2026-11-02T15:46:10.712745Z"},{"id":"ROOT-APP-MAVEN-CVE-2020-13959","title":"CVE-2020-13959 in io.root.org.apache.velocity:velocity-tools - Patched by Root","description":"Root has patched CVE-2020-13959 in the io.root.org.apache.velocity:velocity-tools package for Root:Maven. Multiple fixed versions available.","status":"published","published":"2026-06-09T07:12:29Z","modified":"2026-06-09T13:00:23.225707376Z","updated_at":"2026-11-02T15:53:27.066589Z"},{"id":"USN-6282-1","title":"velocity-tools vulnerability","description":"Jackson Henry discovered that Velocity Tools incorrectly handled certain\ninputs. If a user or an automated system were tricked into opening a specially\ncrafted input file, a remote attacker could possibly use this issue to execute\narbitrary code.\n","status":"published","published":"2023-08-10T15:24:17Z","modified":"2026-06-25T13:32:15.187897923Z","updated_at":"2026-11-02T16:58:17.305935Z"}]}}
