Securin Zero-Days

CVE-2019-20364 – Multiple Reflected Cross-Site Scripting in Openfire Product

Severity:High

Vendor

Openfire

Affected Product

Ignite Realtime

CVE

CVE-2019-20364

Securin ID

2019-CSW-12-1034

Status

Fixed

Date

December 31, 2019

Description

A cross-site scripting (XSS) attack can cause arbitrary code (javascript) to run in a user’s browser while the browser is connected to a trusted web site. The application targets your application’s users and not the application itself, but it uses your application as the vehicle for the attack. XSS payload is executed whenever the user submits the crafted POST request with XSS Payload in Openfire 4.4.4 Product.

Proof of Concept (POC):

The following vulnerability was tested on Openfire version 4.4.4 Product.

Issue 01: The GET Request “cacheName” variable in the URL http://192.168.0.155:9090//SystemCacheDetails.jsp is failing to validate XSS payload in client-side, which results in reflected cross-site scripting.

Figure 01: Select the cache name summary of all existing caches (here cacheName is ‘reflected XSS’).

Figure 02: Add XSS payload to the variable “cacheName.”

Figure 03: HTTP Response for the modified “cacheName” variable with XSS payload.

Figure 04: Injected XSS payload, </script>(document.cookie)</script> gets reflected in the browser response.

Impact

  • Stealing cookies
  • End-user files disclosure.
  • Redirection of the user to some other page or site.

Remediations

Perform context-sensitive encoding of untrusted input before it is echoed back to a browser by using an encoding library. Implement input validation for special characters on all the variables that are reflecting to the browser and storing it in the database. Implement client-side validation.

Timeline

Dec 30, 2019: Vulnerability Discovered in OpenFire

Dec 31, 2019: Vulnerability Reported to Vendor

Dec 31, 2019: Vendor Responded

Dec 31, 2019: Vendor Released Fix

Jan 08, 2020: CVE Assigned

Let Securin level up your security posture!