DataEase is an open source data visualization analysis tool. Prior to 2.10.4, there is a flaw in the authentication in the io.dataease.auth.filter.TokenFilter class, which can be bypassed and cause the risk of unauthorized access. In the io.dataease.auth.filter.TokenFilter class, ”request.getRequestURI“ is used to obtain the request URL, and it is passed to the "WhitelistUtils.match" method to determine whether the URL request is an interface that does not require authentication. The "match" method filters semicolons, but this is not enough. When users set "server.servlet.context-path" when deploying products, there is still a risk of being bypassed, which can be bypassed by any whitelist prefix /geo/../context-path/. The vulnerability has been fixed in v2.10.4.
The class `io.dataease.auth.filter.TokenFilter` retrieves the request URL using the `request.getRequestURI` method and passes it to the `WhitelistUtils.match` method, which checks whether the given endpoint requires authentication. The `match` method filters semicolons; however, this filtering is insufficient. When an administrator configures a custom value for `server.servlet.context-path`, an attacker can construct a request with a path prefix in the form `/geo/../context-path/`, which causes the whitelist matching mechanism to incorrectly classify the request as not requiring authentication (path traversal using the `..` sequence). As a result, any endpoint in the application becomes accessible without providing a valid token.
An unauthenticated remote attacker can gain unauthorized access to protected API interfaces of the application, which may lead to disclosure, modification, or destruction of stored data.
DataEase should be updated to version 2.10.4 or later, in which the vulnerability has been removed. Producer references: https://github.com/dataease/dataease/security/advisories/GHSA-9f69-p73j-m73x
DataEase in versions prior to 2.10.4, with the risk of authentication bypass occurring particularly in installations with a custom `server.servlet.context-path` parameter configuration.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XDataease
APPDataease< 2.10.4
Related vulnerabilities
Dataease: RCE poprzez path traversal w parametrze IniFile sterownika JDBC
SQL Injection w Dataease — niekontrolowany parametr tabeli w podglądzie danych
RCE w DataEase v1 poprzez komponenty konta użytkownika i hasła
DataEase: hardkodowany sekret JWT umożliwia przejęcie usługi
DataEase: brak weryfikacji podpisu JWT umożliwia dostęp do dowolnego interfejsu