kiwitcms/Kiwi

Vulnerabilities 2 via 2 paths
Dependencies 67
Source GitHub
Commit 1f39334e

Find, fix and prevent vulnerabilities in your code.

Severity
  • 1
  • 1
Status
  • 2
  • 0
  • 0
high severity

Cross-site Scripting (XSS)

  • Vulnerable module: bootstrap-select
  • Introduced through: patternfly@3.59.1

Detailed paths

  • Introduced through: undefined@kiwitcms/Kiwi#1f39334eba656aeb1620ec232533ef0f72ff14d9 patternfly@3.59.1 bootstrap-select@1.12.2

Overview

bootstrap-select open source toolkit for developing with HTML, CSS, and JS. Quickly prototype your ideas or build your entire app with our Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful plugins built on jQuery.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via the use of the data-subtext attribute, in cases where that content originates from a user-controlled input.

PoC

(by Snyk)
HTML
<select class="selectpicker">
    <option data-subtext="XSS in data-subtext: &lt;img onclick='javascript:alert(1)'  src='https://upload.wikimedia.org/wikipedia/commons/5/52/Everything_%28software%29_logo.png'&gt;">a javascript alert</option>  
</select>

JS:
$('.selectpicker').selectpicker(); 

Details

Cross-Site Scripting (XSS) attacks occur when an attacker tricks a user’s browser to execute malicious JavaScript code in the context of a victim’s domain. Such scripts can steal the user’s session cookies for the domain, scrape or modify its content, and perform or modify actions on the user’s behalf, actions typically blocked by the browser’s Same Origin Policy.

These attacks are possible by escaping the context of the web application and injecting malicious scripts in an otherwise trusted website. These scripts can introduce additional attributes (say, a "new" option in a dropdown list or a new link to a malicious site) and can potentially execute code on the clients side, unbeknown to the victim. This occurs when characters like < > " ' are not escaped properly.

There are a few types of XSS:

  • Persistent XSS is an attack in which the malicious code persists into the web app’s database.
  • Reflected XSS is an which the website echoes back a portion of the request. The attacker needs to trick the user into clicking a malicious link (for instance through a phishing email or malicious JS on another page), which triggers the XSS attack.
  • DOM-based XSS is an that occurs purely in the browser when client-side JavaScript echoes back a portion of the URL onto the page. DOM-Based XSS is notoriously hard to detect, as the server never gets a chance to see the attack taking place.

Remediation

Upgrade bootstrap-select to version 1.13.6 or higher.

References

medium severity

Cross-site Scripting (XSS)

  • Vulnerable module: simplemde
  • Introduced through: simplemde@1.11.2

Detailed paths

  • Introduced through: undefined@kiwitcms/Kiwi#1f39334eba656aeb1620ec232533ef0f72ff14d9 simplemde@1.11.2

Overview

simplemde is a drop-in JavaScript textarea replacement for writing beautiful and understandable Markdown.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) attacks via an onerror attribute of a crafted IMG element.

Details

Cross-Site Scripting (XSS) attacks occur when an attacker tricks a user’s browser to execute malicious JavaScript code in the context of a victim’s domain. Such scripts can steal the user’s session cookies for the domain, scrape or modify its content, and perform or modify actions on the user’s behalf, actions typically blocked by the browser’s Same Origin Policy.

These attacks are possible by escaping the context of the web application and injecting malicious scripts in an otherwise trusted website. These scripts can introduce additional attributes (say, a "new" option in a dropdown list or a new link to a malicious site) and can potentially execute code on the clients side, unbeknown to the victim. This occurs when characters like < > " ' are not escaped properly.

There are a few types of XSS:

  • Persistent XSS is an attack in which the malicious code persists into the web app’s database.
  • Reflected XSS is an which the website echoes back a portion of the request. The attacker needs to trick the user into clicking a malicious link (for instance through a phishing email or malicious JS on another page), which triggers the XSS attack.
  • DOM-based XSS is an that occurs purely in the browser when client-side JavaScript echoes back a portion of the URL onto the page. DOM-Based XSS is notoriously hard to detect, as the server never gets a chance to see the attack taking place.

Remediation

There is no fix version for simplemde.

References