Cloudanix VulnDB

CVE-2020-13959

Medium · 6.1

CVSS

6.1

EPSS

5.7%

Published

Mar 10, 2021

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A web component could be tricked into running harmful scripts in visitors' browsers simply by sending them a specially crafted web address, potentially letting attackers steal login information.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Data Exposure
Component
Library
Class
XSS
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The default error page for VelocityView reflects the vm file parameter from the URL back to the user, enabling reflected XSS by embedding arbitrary JavaScript in the vm filename.

Why it matters to the business

Attackers may steal session cookies, impersonate users, or deliver phishing content, resulting in account takeovers, data exposure, and loss of user trust.

How an attack unfolds

An attacker appends a crafted .vm filename containing an XSS payload to a VelocityView endpoint URL; when a victim loads the link the error page executes the script in the victim's browser context.

How to fix it

Upgrade Apache Velocity Tools to version 3.1 or later; ensure all dependent applications are rebuilt against the patched library.

How to confirm the fix worked

Confirm the installed version is 3.1 or newer; test that supplying an arbitrary .vm filename in the URL no longer reflects executable content in the error page.

Typical attack path

  1. Identify a VelocityView endpoint that triggers the default error page
  2. Craft a URL embedding an XSS payload inside the vm file parameter
  3. Deliver the malicious URL via phishing or other channels
  4. Victim interaction causes script execution in the browser
  5. Attacker harvests cookies or performs actions on behalf of the victim

How to detect it

Search web server and application logs for requests to VelocityView endpoints that contain unusual .vm filenames with HTML or script tags; inspect proxy or WAF logs for reflected XSS patterns matching the error-page behavior.

What your security team should do

  • Prioritize upgrade of all Velocity Tools instances to 3.1+
  • Scan codebases and dependency manifests for references to velocity-tools
  • Add web application firewall rules to block reflected script patterns in URL parameters
  • Review and harden error-page handling across web applications

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
Maven org.apache.velocity.tools:velocity-tools-parent 0 3.1
Maven org.apache.velocity:velocity-tools 0 No fix
Debian:11 velocity-tools 0 2.0-8
Debian:12 velocity-tools 0 2.0-8
Debian:13 velocity-tools 0 2.0-8
Debian:9 velocity-tools 0 2.0-6+deb9u1
Ubuntu:20.04:LTS velocity-tools 0 2.0-7ubuntu0.20.04.1
Ubuntu:22.04:LTS velocity-tools 0 2.0-8
Ubuntu:Pro:16.04:LTS velocity-tools 0 2.0-4ubuntu0.1~esm1
Ubuntu:Pro:18.04:LTS velocity-tools 0 2.0-7ubuntu0.18.04.1~esm1

Related vulnerabilities