CVE-2025-55108
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedThe Control-M/Agent is vulnerable to unauthenticated remote code execution, arbitrary file read and write and similar unauthorized actions when mutual SSL/TLS authentication is not enabled (i.e. in the default configuration). NOTE: * The vendor believes that this vulnerability only occurs when documented security best practices are not followed. BMC has always strongly recommended to use security best practices such as configuring SSL/TLS between Control-M Server and Agent. * The vendor notifies that Control-M/Agent is not impacted in Control-M SaaS
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceControl-M/Agent in its default configuration lacks mutual SSL/TLS authentication, allowing unauthenticated remote attackers to execute arbitrary code and perform unauthorized file read/write operations over the network. This critical flaw affects the communication channel between the Control-M Server and Agents.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Changed
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify Control-M Agent versionLocate the Control-M Agent installation directory and check the version file or run: ctmversion or vectra version command, or inspect registry entries on Windows, or check /opt/bmc/ctm_agent/version.ini on Linux/UnixAffected if The installed version falls within affected versions and mutual TLS is not configured
-
Verify mutual TLS configuration on the AgentExamine the Agent configuration file (typically agent.cfg, ctmagent.cfg, or ctmag.cfg) for SSL/TLS settings. Look for parameters like 'CTM_SECURITY_ENABLE_MTLS', 'SSL_CLIENT_AUTHENTICATION', or similar mutual TLS settings. Check if they are set to enabled/required.Affected if Mutual TLS/SSL client authentication is disabled, not set, or set to 'no'/'false' in the Agent configuration
-
Check the Control-M Server mutual TLS settingsInspect the Control-M Server configuration (ctm_server.cfg or through ctmconfig command) for SSL/TLS mutual authentication settings between Server and Agents. Look for SSL/TLS enforcement parameters.Affected if The Server is not configured to require mutual SSL/TLS authentication from connecting Agents
-
Inspect Agent communication port configurationCheck the Agent's listening port configuration (typically defined in the Agent config file or through CTM_AGENT_PORT environment variable). Determine if the port is configured to accept unencrypted or non-mutually authenticated connections.Affected if The Agent accepts connections on ports without requiring mutual TLS authentication (e.g., plain TCP or one-way SSL only)
-
Review audit and connection logsExamine Control-M Agent and Server logs for connection details. Look for entries indicating SSL/TLS handshake success with client certificate validation. Check if connections are logged as using mutual SSL or only server-side SSL.Affected if Logs show connections established without client certificate verification or only using server-side TLS
A user is affected if their Control-M Agent is running with default configuration where mutual TLS/SSL authentication is not enabled between the Server and Agents.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedEnable and configure mutual SSL/TLS authentication between Control-M Server and Agents per BMC's documented security best practices to prevent unauthenticated access.
- Enable mutual SSL/TLS authentication between Control-M Server and Agent by configuring the relevant security settings as documented in BMC's official security best practices documentation
- Ensure that the CONTROL-M/Agent is configured to require SSL/TLS authentication from connecting clients
- Verify that mutual authentication (client and server certificate validation) is properly enabled
- Restrict network access to the Control-M/Agent port to only trusted Control-M Servers
- After configuration changes, restart the Control-M/Agent service
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation8.0 h
- Implementation16.0 h
- Testing8.0 h
- Review / QA4.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $10,240.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-55108 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2025-55108 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data