GoAnywhere MFT - RCE (CVE-2025-10035)
Description
A deserialization vulnerability in the License Servlet of Fortra's GoAnywhere MFT allows an actor with a validly forged license response signature to deserialize an arbitrary actor-controlled object, possibly leading to command injection.
psychologyCrowdSec Analysis
CVE-2025-10035 is a critical deserialization vulnerability in Fortra's GoAnywhere MFT License Servlet that lets an unauthenticated attacker present a forged license response to force the server to deserialize attacker-controlled objects, potentially resulting in command injection and remote code execution.
CrowdSec has been tracking this vulnerability and its exploits since 24th of September 2025.
According to CrowdSec data, while opportunistic exploitation dominates, a portion of threat actors trying to exploit CVE-2025-10035 apply basic targeting methods such as port or service detection. This indicates emerging patterns of selective targeting. CrowdSec data also reveals a clear uptick in attacks involving CVE-2025-10035 over the past week. Activity is above the usual baseline, suggesting growing attention from attackers. This may reflect rising awareness, recent exploit releases, or expanded targeting efforts.
Attackers trigger the unlicensed activation flow (e.g., /goanywhere/license/Unlicensed.xhtml with GARequestAction=activate) to obtain a session-linked token/UUID and then POST a crafted bundle to the license accept endpoint (/goanywhere/lic/accept/<GUID>). The server deserializes that bundle, allowing attacker-controlled objects to execute on the server.
Full Intelligence Available
Connect your API key to access CrowdSec scores, exploit timelines, and attacker IPs.
| Event | Date |
|---|---|
| CVE Published | 2025-09-18 |
| Rule Released | 2025-09-24 |
| CrowdSec First Seen | 2025-09-25 |
| CISA KEV | 2025-09-29 |
| CISA Remediation Deadline | 2025-10-20 |
Related Weaknesses
The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.
The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.