[ 
https://issues.apache.org/jira/browse/TIKA-3054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tim Allison resolved TIKA-3054.
-------------------------------
    Fix Version/s: 1.24
         Assignee: Tim Allison
       Resolution: Fixed

> [Dependency] Cross-site Scripting (XSS) in 
> org.apache.cxf:cxf-rt-transports-http 3.3.2
> --------------------------------------------------------------------------------------
>
>                 Key: TIKA-3054
>                 URL: https://issues.apache.org/jira/browse/TIKA-3054
>             Project: Tika
>          Issue Type: Bug
>    Affects Versions: 1.23
>            Reporter: Michael Moritz
>            Assignee: Tim Allison
>            Priority: Major
>             Fix For: 1.24
>
>
> This issue has been created automatically by a source code scanner
> ## Third party component with known security vulnerabilities
> ent-search-master/script/vendor_jars > Jars.lock > 
> org.apache.cxf:[email protected]
> ## Overview
> [org.apache.cxf:cxf-rt-transports-http](http://cxf.apache.org/index.html) is 
> an open source services framework.
> Affected versions of this package are vulnerable to Cross-site Scripting 
> (XSS).
> By default, Apache CXF creates a /services page containing a listing of the 
> available endpoint names and addresses. This webpage is vulnerable to a 
> reflected Cross-Site Scripting (XSS) attack, which allows a malicious actor 
> to inject javascript into the web page. Please note that the attack exploits 
> a feature which is not typically not present in modern browsers, who remove 
> dot segments before sending the request. However, Mobile applications may be 
> vulnerable.
> ## Details
> A cross-site scripting attack occurs when the attacker tricks a legitimate 
> web-based application or site to accept a request as originating from a 
> trusted source.
> This is done by escaping the context of the web application; the web 
> application then delivers that data to its users along with other trusted 
> dynamic content, without validating it. The browser unknowingly executes 
> malicious script on the client side (through client-side languages; usually 
> JavaScript or HTML)  in order to perform actions that are otherwise typically 
> blocked by the browser’s Same Origin Policy.
> ֿInjecting malicious code is the most prevalent manner by which XSS is 
> exploited; for this reason, escaping characters in order to prevent this 
> manipulation is the top method for securing code against this vulnerability.
> Escaping means that the application is coded to mark key characters, and 
> particularly key characters included in user input, to prevent those 
> characters from being interpreted in a dangerous context. For example, in 
> HTML, `<` can be coded as  `&lt`; and `>` can be coded as `&gt`; in order to 
> be interpreted and displayed as themselves in text, while within the code 
> itself, they are used for HTML tags. If malicious content is injected into an 
> application that escapes special characters and that malicious content uses 
> `<` and `>` as HTML tags, those characters are nonetheless not interpreted as 
> HTML tags by the browser if they’ve been correctly escaped in the application 
> code and in this way the attempted attack is diverted.
>  
> The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) 
> and hijack user sessions, but XSS exploits have been used to expose sensitive 
> information, enable access to privileged services and functionality and 
> deliver malware. 
> ### Types of attacks
> There are a few methods by which XSS can be manipulated:
> |Type|Origin|Description|
> |--|--|--|
> |**Stored**|Server|The malicious code is inserted in the application (usually 
> as a link) by the attacker. The code is activated every time a user clicks 
> the link.|
> |**Reflected**|Server|The attacker delivers a malicious link externally from 
> the vulnerable web site application to a user. When clicked, malicious code 
> is sent to the vulnerable web site, which reflects the attack back to the 
> user’s browser.| 
> |**DOM-based**|Client|The attacker forces the user’s browser to render a 
> malicious page. The data in the page itself delivers the cross-site scripting 
> data.|
> |**Mutated**| |The attacker injects code that appears safe, but is then 
> rewritten and modified by the browser, while parsing the markup. An example 
> is rebalancing unclosed quotation marks or even adding quotation marks to 
> unquoted parameters.|
> ### Affected environments
> The following environments are susceptible to an XSS attack:
> * Web servers
> * Application servers
> * Web application environments
> ### How to prevent
> This section describes the top best practices designed to specifically 
> protect your code: 
> * Sanitize data input in an HTTP request before reflecting it back, ensuring 
> all data is validated, filtered or escaped before echoing anything back to 
> the user, such as the values of query parameters during searches. 
> * Convert special characters such as `?`, `&`, `/`, `<`, `>` and spaces to 
> their respective HTML or URL encoded equivalents. 
> * Give users the option to disable client-side scripts.
> * Redirect invalid requests.
> * Detect simultaneous logins, including those from two separate IP addresses, 
> and invalidate those sessions.
> * Use and enforce a Content Security Policy (source: Wikipedia) to disable 
> any features that might be manipulated for an XSS attack.
> * Read the documentation for any of the libraries referenced in your code to 
> understand which elements allow for embedded HTML.
> ## Remediation
> Upgrade `org.apache.cxf:cxf-rt-transports-http` to version 3.2.12, 3.3.5 or 
> higher.
> ## References
> - [Apache Security 
> Advisory](http://cxf.apache.org/security-advisories.data/CVE-2019-17573.txt.asc?version=1&modificationDate=1579178542000&api=v2)
> - [GitHub 
> Commit](https://github.com/apache/cxf/commit/a02e96ba1095596bef481919f16a90c5e80a92c8)
> - 
> [SNYK-JAVA-ORGAPACHECXF-542666](https://snyk.io/vuln/SNYK-JAVA-ORGAPACHECXF-542666)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to