HexBrain

Browse / CVEs / CVE-2025-10035

CVE-2025-10035

GoAnywhere - Authentication Bypass

Exploited in the wild. Listed by CISA on 2025-09-29; known to be used by ransomware.

criticalseverity
99.8%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

Fortra GoAnywhere MFT contains an insecure deserialization vulnerability in the License Servlet caused by deserializing attacker-controlled objects with a valid forged license response signature, letting attackers perform command injection, exploit requires valid forged license signature.

Impact

Attackers can execute arbitrary commands remotely, potentially leading to full system compromise.

Fix

Update to the latest version with the deserialization fix.

How to confirm it

Send: GET {{BaseURL}}/goanywhere/license/Unlicensed.xhtml/{{string}}?javax.faces.ViewState={{string}}&GARequestAction=activate ; GET {{BaseURL}}/license/Unlicensed.xhtml/{{string}}?javax.faces.ViewState={{string}}&GARequestAction=activate
Positive when: contains_all(location, "request?bundle=", "my.goanywhere.com") and status_code == 302

Run it with nuclei: nuclei -id CVE-2025-10035 -u <target>

The full check
id: CVE-2025-10035

info:
  name: GoAnywhere - Authentication Bypass
  author: DhiyaneshDk,watchtowr
  severity: critical
  description: |
    Fortra GoAnywhere MFT contains an insecure deserialization vulnerability in the License Servlet caused by deserializing attacker-controlled objects with a valid forged license response signature, letting attackers perform command injection, exploit requires valid forged license signature.
  reference:
    - https://labs.watchtowr.com/is-this-bad-this-feels-bad-goanywhere-cve-2025-10035/
    - https://attackerkb.com/topics/LbA9ANjcdz/cve-2025-10035/rapid7-analysis
    - https://www.fortra.com/security/advisories/product-security/fi-2025-011
  impact: |
    Attackers can execute arbitrary commands remotely, potentially leading to full system compromise.
  remediation: |
    Update to the latest version with the deserialization fix.
  metadata:
    verified: true
    max-request: 1
    shodan-query: title:"GoAnywhere"
    fofa-query: title="GoAnywhere"
  tags: cve,cve2025,goanywhere,auth-bypass,vkev,kev,vuln

variables:
  string: "{{to_lower(rand_text_alpha(5))}}"

http:
  - method: GET
    path:
      - "{{BaseURL}}/goanywhere/license/Unlicensed.xhtml/{{string}}?javax.faces.ViewState={{string}}&GARequestAction=activate"
      - "{{BaseURL}}/license/Unlicensed.xhtml/{{string}}?javax.faces.ViewState={{string}}&GARequestAction=activate"

    stop-at-first-match: true
    matchers:
      - type: dsl
        dsl:
          - contains_all(location, "request?bundle=", "my.goanywhere.com")
          - status_code == 302
        condition: and

    extractors:
      - type: dsl
        dsl:
          - location

References

Use this check only on systems you are authorised to test. Where the data comes from