Skip to content
OpenAdvisories

Weakness (CWE)

CWE-79: Cross-site Scripting

Base Improper Neutralization of Input During Web Page Generation

The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

How to prevent it (8 mitigations)
  1. Architecture and Design

    Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482].

    Examples of libraries and frameworks that make it easier to generate properly encoded output include Microsoft's Anti-XSS library, the OWASP ESAPI Encoding module, and Apache Wicket.

  2. Implementation, Architecture and Design

    Understand the context in which your data will be used and the encoding that will be expected. This is especially important when transmitting data between different components, or when generating outputs that can contain multiple encodings at the same time, such as web pages or multi-part mail messages. Study all expected communication protocols and data representations to determine the required encoding strategies.

    For any data that will be output to another web page, especially any data that was received from external inputs, use the appropriate encoding on all non-alphanumeric characters.

    Parts of the same output document may require different encodings, which will vary depending on whether the output is in the:

    - HTML body

    - Element attributes (such as src="XYZ")

    - URIs

    - JavaScript sections

    - Cascading Style Sheets and style property

    etc. Note that HTML Entity Encoding is only appropriate for the HTML body.

    Consult the XSS Prevention Cheat Sheet [REF-724] for more details on the types of encoding and escaping that are needed.

  3. Architecture and Design, Implementation

    Understand all the potential areas where untrusted inputs can enter your software: parameters or arguments, cookies, anything read from the network, environment variables, reverse DNS lookups, query results, request headers, URL components, e-mail, files, filenames, databases, and any external systems that provide data to the application. Remember that such inputs may be obtained indirectly through API calls.

  4. Architecture and Design

    For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.

  5. Architecture and Design

    If available, use structured mechanisms that automatically enforce the separation between data and code. These mechanisms may be able to provide the relevant quoting, encoding, and validation automatically, instead of relying on the developer to provide this capability at every point where output is generated.

  6. Implementation

    Use and specify an output encoding that can be handled by the downstream component that is reading the output. Common encodings include ISO-8859-1, UTF-7, and UTF-8. When an encoding is not specified, a downstream component may choose a different encoding, either by assuming a default encoding or automatically inferring which encoding is being used, which can be erroneous. When the encodings are inconsistent, the downstream component might treat some character or byte sequences as special, even if they are not special in the original encoding. Attackers might then be able to exploit this discrepancy and conduct injection attacks; they even might be able to bypass protection mechanisms that assume the original encoding is also being used by the downstream component.

    The problem of inconsistent output encodings often arises in web pages. If an encoding is not specified in an HTTP header, web browsers often guess about which encoding is being used. This can open up the browser to subtle XSS attacks.

  7. Implementation

    With Struts, write all data from form beans with the bean's filter attribute set to true.

  8. Implementation

    To help mitigate XSS attacks against the user's session cookie, set the session cookie to be HttpOnly. In browsers that support the HttpOnly feature (such as more recent versions of Internet Explorer and Firefox), this attribute can prevent the user's session cookie from being accessible to malicious client-side scripts that use document.cookie. This is not a complete solution, since HttpOnly is not supported by all browsers. More importantly, XmlHttpRequest and other powerful browser technologies provide read access to HTTP headers, including the Set-Cookie header in which the HttpOnly flag is set.

Source: MITRE CWE-79

656 results · Clear filters · Feed

  • Medium 6.1
    CVE-2014-3656 Public exploit

    JBoss KeyCloak Cross-site Scripting Vulnerability

    JBoss KeyCloak: XSS in login-status-iframe.html

  • Medium 6.1
    CVE-2019-10070 Public exploit

    Stored XSS in Apache Atlas

    Apache Atlas versions 0.8.3 and 1.1.0 were found vulnerable to Stored Cross-Site Scripting in the search functionality

  • Medium 6.5
    CVE-2019-10219 Public exploit

    The SafeHtml annotation in Hibernate-Validator does not properly guard against XSS attacks

    A vulnerability was found in Hibernate-Validator. The SafeHtml validator annotation fails to properly sanitize payloads consisting of potentially malicious code in HTML comments and instructions. This vulnerability can result in an XSS attack.

  • Medium 6.1
    CVE-2019-10475 Public exploit Scanner template EPSS 58%

    Jenkins build-metrics Plugin reflected cross-site scripting vulnerability

    A reflected cross-site scripting vulnerability in Jenkins build-metrics Plugin allows attackers to inject arbitrary HTML and JavaScript into web pages provided by this plugin.

  • Medium 6.1
    CVE-2019-12562 Public exploit

    Stored Cross-Site Scripting vulnerability in admin component of DotNetNuke

    Stored Cross-Site Scripting in DotNetNuke (DNN) Version before 9.4.0 allows remote attackers to store and embed the malicious script into the admin notification page. The exploit could be used to perfom any action with admin privileges such as managing conten…

  • Medium 6.1
    CVE-2017-18635 Public exploit

    Cross-Site Scripting in @novnc/novnc

    An XSS vulnerability was discovered in noVNC before 0.6.2 in which the remote VNC server could inject arbitrary HTML into the noVNC web page via the messages propagated to the status field, such as the VNC server name.

  • Medium 6.1
    CVE-2019-10089 Public exploit

    Cross-site scripting in Apache JSPWiki

    On Apache JSPWiki, up to version 2.11.0.M4, a carefully crafted plugin link invocation could trigger an XSS vulnerability on Apache JSPWiki, related to the WYSIWYG editor, which could allow the attacker to execute javascript in the victim's browser and get so…

  • Medium 6.1
    CVE-2019-16197 Public exploit

    Cross-site scripting in Dolibarr

    In htdocs/societe/card.php in Dolibarr 10.0.1, the value of the User-Agent HTTP header is copied into the HTML document as plain text between tags, leading to XSS.

  • Medium 5.4
    CVE-2019-16172 Public exploit

    Cross-site Scripting in LimeSurvey

    LimeSurvey before v3.17.14 allows stored XSS for escalating privileges from a low-privileged account to, for example, SuperAdmin. The attack uses a survey group in which the title contains JavaScript that is mishandled upon group deletion.

  • Medium 5.4
    CVE-2019-16173 Public exploit

    Cross-site Scripting in LimeSurvey

    LimeSurvey before v3.17.14 allows reflected XSS for escalating privileges from a low-privileged account to, for example, SuperAdmin. This occurs in application/core/Survey_Common_Action.php,

  • Medium 6.1
    CVE-2019-13236 Public exploit

    XSS issues in the management interface

    In system/workplace/ in Alkacon OpenCms 10.5.4 and 10.5.5, there are multiple Reflected and Stored XSS issues in the management interface.

  • Medium 6.1
    CVE-2019-13235 Public exploit

    XSS in login form

    In the Alkacon OpenCms Apollo Template 10.5.4 and 10.5.5, there is XSS in the Login form.

  • Medium 6.1
    CVE-2019-13234 Public exploit

    XSS in search engine

    In the Alkacon OpenCms Apollo Template 10.5.4 and 10.5.5, there is XSS in the search engine.

  • Medium 6.1
    CVE-2019-15477 Public exploit

    Cross-site Scripting in Jooby

    Jooby before 1.6.4 has XSS via the default error handler.

  • Medium 5.4
    CVE-2019-10349 Public exploit

    Jenkins Dependency Graph Viewer Plugin contains Cross-site Scripting

    A stored cross site scripting vulnerability in Jenkins Dependency Graph Viewer Plugin 0.13 and earlier allowed attackers able to configure jobs in Jenkins to inject arbitrary HTML and JavaScript in the plugin-provided web pages in Jenkins.

  • Medium 5.4
    CVE-2019-13068 Public exploit EPSS 52%

    Grafana Cross-site Scripting vulnerability

    public/app/features/panel/panel_ctrl.ts in Grafana before 6.2.5 allows HTML Injection in panel drilldown links (via the Title or url field).

  • Medium 4.7
    CVE-2019-6588 Public exploit

    Liferay Portal Allows Cross-Site Scripting (XSS) via the SimpleCaptcha API

    In Liferay Portal before 7.1 CE GA4, an XSS vulnerability exists in the SimpleCaptcha API when custom code passes unsanitized input into the "url" parameter of the JSP taglib call <liferay-ui:captcha url="<%= url %>" /> or <liferay-captcha:captcha url="<%= ur…

  • Medium 6.1
    CVE-2019-0221 Public exploit Scanner template EPSS 58%

    Cross-site scripting in Apache Tomcat

    The SSI printenv command in Apache Tomcat 9.0.0.M1 to 9.0.0.17, 8.5.0 to 8.5.39 and 7.0.0 to 7.0.93 echoes user provided data without escaping and is, therefore, vulnerable to XSS. SSI is disabled by default. The printenv command is intended for debugging and…

  • Medium 6.1
    CVE-2019-10078 Public exploit

    Cross-site Scriptin in JSPWiki

    A carefully crafted plugin link invocation could trigger an XSS vulnerability on Apache JSPWiki 2.9.0 to 2.11.0.M3, which could lead to session hijacking. Initial reporting indicated ReferredPagesPlugin, but further analysis showed that multiple plugins were …

  • Medium 6.1
    CVE-2019-10077 Public exploit

    Cross-site Scripting in JSPWiki

    A carefully crafted InterWiki link could trigger an XSS vulnerability on Apache JSPWiki 2.9.0 to 2.11.0.M3, which could lead to session hijacking.

  • Medium 6.1
    CVE-2019-10076 Public exploit

    Cross-Site Scripting in JSPWiki

    A carefully crafted malicious attachment could trigger an XSS vulnerability on Apache JSPWiki 2.9.0 to 2.11.0.M3, which could lead to session hijacking.

  • Medium 5.4
    CVE-2019-10909 Public exploit

    Symfony Cross-site Scripting (XSS) vulnerability

    In Symfony before 2.7.51, 2.8.x before 2.8.50, 3.x before 3.4.26, 4.x before 4.1.12, and 4.2.x before 4.2.7, validation messages are not escaped, which can lead to XSS when user input is included. This is related to symfony/framework-bundle.

  • Medium 6.1
    CVE-2019-0186 Public exploit EPSS 21%

    Cross-site Scripting in Apache Pluto Chatroom demo

    The input fields of the Apache Pluto "Chat Room" demo portlet 3.0.0 and 3.0.1 are vulnerable to Cross-Site Scripting (XSS) attacks. Mitigation: * Uninstall the ChatRoomDemo war file - or - * migrate to version 3.1.0 of the chat-room-demo war file

  • Medium 6.1
    CVE-2019-11358 Public exploit EPSS 87%

    XSS in jQuery as used in Drupal, Backdrop CMS, and other products

    jQuery before 3.4.0, as used in Drupal, Backdrop CMS, and other products, mishandles jQuery.extend(true, {}, ...) because of Object.prototype pollution. If an unsanitized source object contained an enumerable __proto__ property, it could extend the native Obj…

  • Medium 5.4
    CVE-2019-3847 Public exploit

    Moodle XSS Vulnerability

    A vulnerability was found in moodle before versions 3.6.3, 3.5.5, 3.4.8 and 3.1.17. Users with the "login as other users" capability (such as administrators/managers) can access other users' Dashboards, but the JavaScript those other users may have added to t…

  • Medium 4.3
    CVE-2019-3810 Public exploit EPSS 14%

    Moodle XSS Vulnerability

    A flaw was found in moodle versions 3.6 to 3.6.1, 3.5 to 3.5.3, 3.4 to 3.4.6, 3.1 to 3.1.15 and earlier unsupported versions. The /userpix/ page did not escape users' full names, which are included as text when hovering over profile images. Note this page is …

  • Medium 6.1
    CVE-2019-9978 Exploited Public exploit Scanner template EPSS 73%

    The social-warfare plugin before 3.5.3 for WordPress has stored XSS via the wp-admin/admin-post.php?swp_debug=load_opti…

    KEV Nov 3, 2021
  • Medium 6.1
    CVE-2019-8331 Public exploit EPSS 16%

    Bootstrap Vulnerable to Cross-Site Scripting

    In Bootstrap before 3.4.1 and 4.3.x before 4.3.1, XSS is possible in the tooltip or popover data-template attribute.

  • Medium 6.1
    CVE-2019-6804 Public exploit

    Rundeck Community Edition vulnerable to Cross-site Scripting

    An XSS issue was discovered on the Job Edit page in Rundeck Community Edition before 3.0.13, related to assets/javascripts/workflowStepEditorKO.js and views/execution/_wfitemEdit.gsp.

  • Medium 6.1
    CVE-2019-1642 Public exploit

    Cisco Firepower Management Center Cross-Site Scripting Vulnerability

    A vulnerability in the web-based management interface of Cisco Firepower Management Center (FMC) software could allow an unauthenticated, remote attacker to conduct a cross-site scripting (XSS) attack against a user of the web-based management interface of th…

  • Medium 6.1
    CVE-2016-10735 Public exploit

    Bootstrap Cross-site Scripting vulnerability

    In Bootstrap 3.x before 3.4.0 and 4.x-beta before 4.0.0-beta.2, XSS is possible in the data-target attribute, a different vulnerability than CVE-2018-14041.

  • Medium 6.1
    CVE-2018-6341 Public exploit

    Cross-Site Scripting in react-dom

    React applications which rendered to HTML using the ReactDOMServer API were not escaping user-supplied attribute names at render-time. That lack of escaping could lead to a cross-site scripting vulnerability. This issue affected minor releases 16.0.x, 16.1.x,…

  • Medium 6.1
    CVE-2018-19799 Public exploit

    Dolibarr ERP and CRM contain XSS Vulnerability

    Dolibarr ERP/CRM through 8.0.3 has /exports/export.php?datatoexport= XSS.

  • Medium 4.8
    CVE-2018-20418 Public exploit

    Craft CMS Cross-site Scripting (XSS) Vulnerability

    index.php?p=admin/actions/entries/save-entry in Craft CMS 3.0.25 allows XSS by saving a new title from the console tab.

  • Medium 6.1
    CVE-2018-19933 Public exploit

    Bolt Cross-site Scripting (XSS) via text input click preview button

    Bolt CMS <3.6.2 allows XSS via text input click preview button as demonstrated by the Title field of a Configured and New Entry.

  • Medium 6.1
    CVE-2018-18548 Public exploit

    Ajenti Cross-site Scripting Via Filename

    ajenticp (aka Ajenti Docker control panel) for Ajenti through v1.2.23.13 has XSS via a filename that is mishandled in File Manager.

  • Medium 5.4
    CVE-2018-14059 Public exploit

    Pimcore XSS Vulnerability

    Pimcore allows XSS via Users, Assets, Data Objects, Video Thumbnails, Image Thumbnails, Field-Collections, Objectbrick, Classification Store, Document Types, Predefined Properties, Predefined Asset Metadata, Quantity Value, and Static Routes functions.

  • Medium 6.1
    CVE-2018-8032 Public exploit EPSS 11%

    Moderate severity vulnerability that affects apache axis

    Apache Axis 1.x up to and including 1.4 is vulnerable to a cross-site scripting (XSS) attack in the default servlet/services.

  • Medium 6.1
    CVE-2018-14840 Public exploit

    Subrion CMS Cross-site Scripting

    uploads/.htaccess in Subrion CMS 4.2.1 allows XSS because it does not block .html file uploads (but does block, for example, .htm file uploads).

  • Medium 6.1
    CVE-2018-14042 Public exploit

    Bootstrap Cross-site Scripting vulnerability

    In Bootstrap before 4.1.2, XSS is possible in the data-container property of tooltip.