More than 3,000 Openfire servers have not been patched against a recent vulnerability and remain exposed to attacks relying on a new exploit, vulnerability intelligence firm VulnCheck reports.
Maintained by Ignite Realtime, Openfire is a cross-platform real time collaboration server written in Java that uses the XMPP protocol, and which supports administration via a web interface.
Tracked as CVE-2023-32315, the high-severity flaw was discovered in Openfire’s administration console and is described as a path traversal bug via the setup environment that allows unauthenticated attackers to access restricted pages in the admin console.
The issue exists because the path traversal protections in Openfire did not protect against ‘certain non-standard URL encoding for UTF-16 characters’ that were not supported by the webserver – support was added without updating the protections.
All Openfire iterations from version 3.10.0, which was released in April 2015, through versions 4.7.5 and 4.6.8, released in May 2023 to patch the vulnerability, are impacted.
The vulnerability has been exploited in malicious attacks for more than two months, with threat actors seen creating new admin console user accounts to install a new plugin containing a remote web shell, allowing them to execute arbitrary commands and access any data on the server.
Various public exploits targeting CVE-2023-32315 are already available, but all follow the same pattern. However, VulnCheck now says it has discovered a new exploit path that does not require creating the administrative user account.
The threat intelligence firm says it has identified over 6,300 Openfire servers accessible from the internet, with roughly half of them being either patched against the vulnerability, older versions that are not vulnerable, or forks that might not be affected.
“This leaves approximately 50% of the internet-facing Openfire servers using affected versions. While that’s only a few thousand servers, it’s a decent number given the server’s trusted position associated with chat clients,” VulnCheck notes.
Because the security defect allows an unauthenticated attacker to access the plugin administration endpoint, the firm explains, the attacker can upload the plugin directly and then access the web shell, also without authentication.
“This approach keeps login attempts out of the security audit log and prevents the ‘uploaded plugin’ notification from being recorded. That’s a pretty big deal because it leaves no evidence in the security audit log,” VulnCheck explains.
While the malicious activity might be visible in the openfire.log file, the attacker can use the path traversal to delete the log via the web shell, thus leaving the plugin itself as the only indicator of compromise, the company warns.
“This vulnerability has already been exploited in the wild, likely even by a well-known botnet. With plenty of vulnerable internet-facing systems, we assume exploitation will continue into the future,” VulnCheck concludes.