Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 125 additions & 0 deletions SPECS/open-vm-tools/CVE-2025-41244.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
From 44cdbc3121b1a85e25c32d6b116c7fca341718c9 Mon Sep 17 00:00:00 2001
From: John Wolfe <john.wolfe@broadcom.com>
Date: Wed, 17 Sep 2025 22:11:43 -0700
Subject: [PATCH] SDMP: Service Discovery Plugin

Address CVE-2025-41244
- Disable (default) the execution of the SDMP get-versions.sh script.

With the Linux SDMP get-versions.sh script disabled, version information
of installed services will not be made available to VMware Aria.

All files being updated should be consider to have the copyright
updated to:

* Copyright (c) XXXX-2025 Broadcom. All Rights Reserved.
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.

The 2025 Broadcom copyright information update is not part of this
patch set to allow the patch to be easily applied to previous
open-vm-tools source releases.

Signed-off-by: Azure Linux Security Servicing Account <azurelinux-security@microsoft.com>
Upstream-reference: https://raw.githubusercontent.com/vmware/open-vm-tools/refs/heads/CVE-2025-41244.patch/CVE-2025-41244-1230-1235-SDMP.patch
---
.../serviceDiscovery/serviceDiscovery.c | 34 ++++++++++++++++---
1 file changed, 30 insertions(+), 4 deletions(-)

diff --git a/services/plugins/serviceDiscovery/serviceDiscovery.c b/services/plugins/serviceDiscovery/serviceDiscovery.c
index 103cf14..2f65294 100644
--- a/services/plugins/serviceDiscovery/serviceDiscovery.c
+++ b/services/plugins/serviceDiscovery/serviceDiscovery.c
@@ -115,6 +115,12 @@ static gchar* scriptInstallDir = NULL;
*/
#define SERVICE_DISCOVERY_RPC_WAIT_TIME 100

+/*
+ * Defines the configuration to enable/disable version obtaining logic
+ */
+#define CONFNAME_SERVICEDISCOVERY_VERSION_CHECK "version-check-enabled"
+#define SERVICE_DISCOVERY_CONF_DEFAULT_VERSION_CHECK FALSE
+
/*
* Defines the configuration to cache data in gdp plugin
*/
@@ -1239,23 +1245,27 @@ ServiceDiscoveryServerShutdown(gpointer src,
*
* Construct final paths of the scripts that will be used for execution.
*
+ * @param[in] versionCheckEnabled TRUE to include the SERVICE_DISCOVERY_KEY_VERSIONS
+ * entry; FALSE to skip it (derived from config).
+ *
*****************************************************************************
*/

static void
-ConstructScriptPaths(void)
+ConstructScriptPaths(Bool versionCheckEnabled)
{
int i;
#if !defined(OPEN_VM_TOOLS)
gchar *toolsInstallDir;
#endif
+ int insertIndex = 0;

if (gFullPaths != NULL) {
return;
}

gFullPaths = g_array_sized_new(FALSE, TRUE, sizeof(KeyNameValue),
- ARRAYSIZE(gKeyScripts));
+ ARRAYSIZE(gKeyScripts) - (versionCheckEnabled ? 0u : 1u));
if (scriptInstallDir == NULL) {
#if defined(OPEN_VM_TOOLS)
scriptInstallDir = Util_SafeStrdup(VMTOOLS_SERVICE_DISCOVERY_SCRIPTS);
@@ -1267,6 +1277,15 @@ ConstructScriptPaths(void)
#endif
}
for (i = 0; i < ARRAYSIZE(gKeyScripts); ++i) {
+ /*
+ * Skip adding if:
+ * 1. Version check is disabled, AND
+ * 2. The keyName matches SERVICE_DISCOVERY_KEY_VERSIONS
+ */
+ if (!versionCheckEnabled &&
+ g_strcmp0(gKeyScripts[i].keyName, SERVICE_DISCOVERY_KEY_VERSIONS) == 0) {
+ continue;
+ }
KeyNameValue tmp;
tmp.keyName = g_strdup_printf("%s", gKeyScripts[i].keyName);
#if defined(_WIN32)
@@ -1274,7 +1293,8 @@ ConstructScriptPaths(void)
#else
tmp.val = g_strdup_printf("%s%s%s", scriptInstallDir, DIRSEPS, gKeyScripts[i].val);
#endif
- g_array_insert_val(gFullPaths, i, tmp);
+ g_array_insert_val(gFullPaths, insertIndex, tmp);
+ insertIndex++;
}
}

@@ -1340,14 +1360,20 @@ ToolsOnLoad(ToolsAppCtx *ctx)
}
};
gboolean disabled;
+ Bool versionCheckEnabled;

regData.regs = VMTools_WrapArray(regs,
sizeof *regs,
ARRAYSIZE(regs));
+ versionCheckEnabled = VMTools_ConfigGetBoolean(
+ ctx->config,
+ CONFGROUPNAME_SERVICEDISCOVERY,
+ CONFNAME_SERVICEDISCOVERY_VERSION_CHECK,
+ SERVICE_DISCOVERY_CONF_DEFAULT_VERSION_CHECK);
/*
* Append scripts execution command line
*/
- ConstructScriptPaths();
+ ConstructScriptPaths(versionCheckEnabled);

disabled =
VMTools_ConfigGetBoolean(ctx->config,
--
2.45.4

6 changes: 5 additions & 1 deletion SPECS/open-vm-tools/open-vm-tools.spec
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
Summary: Open Virtual Machine Tools for virtual machines hosted on VMware
Name: open-vm-tools
Version: 12.3.5
Release: 2%{?dist}
Release: 3%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Azure Linux
Expand All @@ -37,6 +37,7 @@ Source3: vmblock.mount
Source4: open-vm-tools.conf
Source5: vmtoolsd.pam
Patch0: CVE-2025-22247.patch
Patch1: CVE-2025-41244.patch
BuildRequires: autoconf
BuildRequires: automake
#BuildRequires: doxygen
Expand Down Expand Up @@ -334,6 +335,9 @@ fi
%{_bindir}/vmware-vgauth-smoketest

%changelog
* Thu Jul 23 2026 Azure Linux Security Servicing Account <azurelinux-security@microsoft.com> - 12.3.5-3
- Patch for CVE-2025-41244

* Fri May 09 2025 Andrew Phelps <anphel@microsoft.com> - 12.3.5-2
- Add CVE-2025-22247.patch

Expand Down
Loading