Newly discovered critical vulnerabilities in Java Usage Tracker allows the attacker to run arbitrary files in a vulnerable windows machine and escalate local privileges to access sensitive information.
It also let attackers allow to access the resources that are normally protected or restricted to access it by other applications.
Java Usage Tracker is a part of Java functionality that helps to tracks how it is used in systems where it is installed.
Tracking data including log information about the Java virtual machine (JVM) ,Dump the data into a log file, Allow log values for custom properties.
It also uses a Configuration file called usagetracker.properties which is default location on the operating system -> %ProgramData%OracleJava.
Java Usage Tracker behavior controlled by 2 properties of usagetracker.properties of following.
According to Trend Micro research, There are two ways to control the behavior of Java Usage Tracker: Setting an arbitrary log path, and setting an arbitrary custom property. Such a combination seems unexploitable, but it can be exploited when used in conjunction with other security flaws or weaknesses.
Exploiting Custom properties of Java Usage Tracker on Windows
A researcher explained that the configuration files in customized properties code will force to create a .bat file then it will add the custom property.
In this Image end of the properties file ping 22.214.171.124 >= null. In this case, If the batch file global_javatracker.bat is executed, it will display the error message “VM start” is not recognized.
But researchers find that However, there is a chance to execute it because the double quote surrounding every property value can be controlled by another configuration, com.oracle.usagetracker.quote = “.
create an empty com.oracle.usagetracker.quote configuration and global_javatracker.bat execute command ping 126.96.36.199 >= null.
So once the null file is created, the Java Usage Tracker
- Can be abused to create files in any arbitrary location in the file system.
- Can be abused to create text scriptable files. The example uses batch files, but it can also be used to create other file types.
- Can be abused to inject arbitrary commands (or any other text related to the scriptable file).
An another Local privilege escalate vulnerability in exploit by Java Usage Tracker can be exploit by abusing the default permission.
In this case, Default path %ProgramData%OracleJava used to create a Java Usage Tracker global configuration file which is created during the installation of Java Usage Tracker.
Here the default permission %ProgramData% allows “Users” of the system to create a file. When Oracle/Java’s path is created, the default permissions are inherited.
“So A user with low privileges can create a malicious configuration file usagetracker.properties and the Tomcat server can create the batch file in any location of the system because it is running with “System” privileges.” Researchers said.