Summary
SICK has found multiple vulnerabilities in SICK Enterprise Analytics and the SICK Logistic Analytics products. The vulnerabilities could potentially affect the confidentiality, integrity and availability of the products. Therefore it is strongly recommended to apply general security practices when operating the products. Currently, SICK is not aware of any public exploits.
Vulnerabilities 18
-
High 7.5
Information disclosure to unauthorized user
A remote unauthorized attacker may gather sensitive information of the application, due to missing authorization of configuration settings of the product.
-
Medium 6.5
Injection via log file
An API endpoint allows arbitrary log entries to be created via POST request. Without sufficient validation of the input data, an attacker can create manipulated log entries and thus falsify or dilute logs, for example.
-
Medium 6.5
Improper Restriction of Excessive Authentication Attempts
The application does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame, making it possible for an attacker to guess user credentials.
-
Medium 6.5
Path traversal
It's possible to brute force folders and files, what can be used by an attacker to steal sensitve information.
-
Medium 6.5
Path Traversal
A remote, unauthorized attacker can brute force folders and files and read them like private keys or configurations, making the application vulnerable for gathering sensitive information.
-
Medium 5.3
No brute-force protection
The product does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame, making it susceptible to brute-force attacks.
-
Medium 5.3
Username Disclosure Through Missing Authentication
Due to a lack of authentication, it is possible for an unauthenticated user to request data from this endpoint, making the application vulnerable for user enumeration.
-
Medium 5.3
Uncontrolled Resource Consumption via log file
If a user tries to login but the provided credentials are incorrect a log is created. The data for this POST requests is not validated and it’s possible to send giant payloads which are then logged.
-
Medium 5.3
User Enumeration
The application provides access to a login protected H2 database for caching purposes. The username is prefilled.
-
Medium 5.3
Plain Text Transmission of Username and Password in the URL
In the HTTP request, the username and password are transferred directly in the URL as parameters. However, URLs can be stored in various systems such as server logs, browser histories or proxy servers. As a result, there is a high risk that this sensitive dat…
-
Medium 5.3
Sensitive Information Disclosure Through Missing Authentication
Multiple endpoints with sensitive information do not require authentication, making the application susceptible to information gathering.
-
Medium 5.3
User Enumeration by excessive error output
For failed login attempts, the application returns different error messages depending on whether the login failed due to an incorrect password or a non-existing username. This allows an attacker to guess usernames until they find an existing one.
-
Medium 4.5
Cross Site Scripting: Session Hijacking
JavaScript can be ran inside the address bar via the dashboard "Open in new Tab" Button, making the application vulnerable to session hijacking.
-
Medium 4.3
Information Disclosure Through Stacktrace-/MQTT/Config/changeAll
When an error occurs in the application a full stacktrace is provided to the user. The stacktrace lists class and method names as well as other internal information. An attacker can thus obtain information about the technology used and the structure of the ap…
-
Medium 4.3
The credentials of the users stored in the system's local database can be used for the log in, making it possible for a…
-
Medium 4.2
Missing HTTP Security Headers
The application fails to implement several security headers. These headers help increase the overall security level of the web application by e.g., preventing the application to be displayed in an iFrame (Clickjacking attacks) or not executing injected malici…
-
Low 3.8
Unlimited user creation by authorized users
A user with the appropriate authorization can create any number of user accounts via an API endpoint using a POST request. There are no quotas, checking mechanisms or restrictions to limit the creation.
-
Low 2.7
Information Disclosure Through Stacktrace
When an error occurs in the application a full stacktrace is provided to the user. The stacktrace lists class and method names as well as other internal information. An attacker thus receives information about the technology used and the structure of the appl…
Revision history
-
#2
Fixes for the products Baggage Analytics, Package Analytics, Tire Analytics, Logistic Diagnostic Analytics.
-
#1
Initial version
References
-
SICK PSIRT Security Advisories
https://sick.com/psirt
-
SICK Operating Guidelines
https://www.sick.com/media/docs/9/19/719/special_information_sick_operating_guidelines_cybersecurity_by_sick_en_im0106719.pdf
-
ICS-CERT recommended practices on Industrial Security
https://www.cisa.gov/resources-tools/resources/ics-recommended-practices
-
CVSS v3.1 Calculator
https://www.first.org/cvss/calculator/3.1