Skip to main content

FreeScout EUVDEUVD-2026-46094

| CVE-2026-53595 CRITICAL
Improper Handling of Case Sensitivity (CWE-178)
2026-07-20 GitHub_M
9.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach public FreeScout web endpoint
  2. Delivery
    POST /user-setup/%20/9999999999 with attacker email and password
  3. Exploit
    Empty invite_hash matched via trailing-space equality
  4. Execution
    Plaintext timestamp bypasses decrypt expiry guard
  5. Persist
    Target account credentials overwritten
  6. Impact
    Authenticated session as agent or admin

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Case sensitivity handling
Exploitation Conditions

Requires a FreeScout instance older than 1.8.224 backed by MySQL or MariaDB (the trailing-space VARCHAR equality behavior is essential - other databases may not match the empty invite_hash to %20). At least one user must already have activated their account so that invite_hash equals the empty string, and the takeover targets specifically the lowest-id activated account. The public /user-setup/{hash}/{invite_sent_at} endpoint must be reachable by the attacker. Limiting factors: exploitation grants control of only one account (the lowest activated id), which is an administrator only if an admin was created via invitation rather than initial install; the legitimate user is locked out, making the intrusion noticeable.

Impact

All signals point to genuine high priority. The provided CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L (9.4) describes fully remote, unauthenticated, low-complexity exploitation with no user interaction, which the description corroborates precisely - the endpoint is public and no cookie or session is needed. Confidentiality and integrity are High because the attacker gains full control of a support agent or admin mailbox; availability is Low because the legitimate user is locked out of that single account. No EPSS score, KEV listing, SSVC decision, or POC was supplied, so there is currently no evidence of active or automated exploitation; exploitation status is 'no public exploit identified at time of analysis.' However, the technique is deterministic, requires no brute force, and is fully documented in the advisory, so real-world weaponization difficulty is very low. The main uncertainty is which account gets taken over - it is the lowest-id activated user, which is often an early admin but is deployment-dependent.

Exploit ScenarioDerived

An attacker with only network access to the FreeScout web interface sends POST /user-setup/%20/9999999999 with a chosen email and password in the body. The trailing-space hash matches the empty invite_hash of the lowest-id activated account and the plaintext timestamp bypasses the expiry check, so the server overwrites that account's credentials and logs the attacker in as a support agent or administrator. No POC was provided, but the attack requires no authentication, no user interaction, and no special tooling beyond an HTTP client.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 20, 2026

Anonymous account takeover in FreeScout help desk before 1.8.224 lets an unauthenticated attacker seize the lowest-id activated agent or administrator account by abusing the public POST /user-setup/{hash}/{invite_sent_at} endpoint. By supplying a single URL-encoded space as the invite hash and a plaintext numeric timestamp, the attacker overwrites the target's email and password and is logged in as that user. No public exploit is identified at time of analysis, but the mechanics are fully disclosed in the GitHub advisory and CVSS is 9.4.

RemediationAI

Vendor-released patch: 1.8.224 - upgrade all FreeScout instances to 1.8.224 or later, which fixes the invite_hash matching and expiry-decryption logic, per advisory GHSA-jqj5-r72v-v29g (https://github.com/freescout-help-desk/freescout/security/advisories/GHSA-jqj5-r72v-v29g). If an immediate upgrade is not possible, block or restrict access to the /user-setup/ route at the reverse proxy or WAF (allowing it only from trusted networks during genuine onboarding windows), which prevents exploitation at the cost of breaking invitation self-activation until re-enabled. As a database-level hardening measure, ensure no activated account retains a non-empty predictable invite_hash and consider auditing for accounts whose email was recently changed. After patching, treat any pre-patch takeover as possible: rotate credentials and review admin/agent account changes and login history for the lowest-id activated user.

Affected VersionsENISA

freescout < 1.8.224

Affected Packages

euvd freescout fix: 1.8.224

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

FreeScout is an open-source PHP/Laravel shared-inbox and help-desk application (cpe:2.3:a:freescout-help-desk:freescout). The invite-activation flow in OpenController@userSetupSave locates the account to activate purely by its invite_hash column and then rewrites that row's credentials. The flaw class is CWE-178 (improper handling of case/canonicalization): on MySQL and MariaDB, CHAR/VARCHAR equality comparisons pad and ignore trailing spaces, so the stored empty-string invite_hash (set once a user has activated) equals a value of %20 (one trailing space). A second defect compounds it: the expiry check calls Helper::decrypt on invite_sent_at using the target's password hash, but Helper::decrypt returns its raw input unchanged on decryption failure, so a plaintext value like 9999999999 satisfies the time-to-live guard without any secret. Together these turn a one-time invitation endpoint into an unauthenticated credential-reset primitive against an already-activated account.

Know when Freescout gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.4 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
vuln.today AI 9.4 CRITICAL

Public endpoint reachable over network with no auth or interaction and deterministic technique gives AV:N/AC:L/PR:N/UI:N; full account control yields C:H/I:H, and lockout of one account gives A:L.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
Low

Lifecycle Timeline

2
Patch available
Jul 20, 2026 - 23:18 EUVD
CVE Published
Jul 20, 2026 - 20:14 cve.org
CRITICAL 9.4

DescriptionCVE.org

FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Prior to version 1.8.224, the public endpoint POST /user-setup/{hash}/{invite_sent_at} (OpenController@userSetupSave) selects the target account solely by its invite_hash column, then overwrites that account's email and password and logs in as it. No authentication, cookie, or prior session is required. After a user activates, FreeScout sets invite_hash to the empty string. On MySQL and MariaDB, VARCHAR equality ignores trailing spaces, so a single URL-encoded space (%20) matches the stored empty string and selects the lowest-id activated user. The expiry guard decrypts invite_sent_at with the target's password hash, but Helper::decrypt returns its raw input unchanged when decryption fails. A plaintext numeric value such as 9999999999 therefore passes the time-to-live check without any secret. The result is that an anonymous attacker sets the email and password of the lowest-id activated FreeScout account (a support agent, or an administrator if one was added by invitation) and authenticates as that account. Version 1.8.224 contains a fix.

Executive ViewAI

Why It Matters

FreeScout help desk versions before 1.8.224 contain a critical account takeover vulnerability allowing unauthenticated attackers to seize administrative and agent accounts with a simple public endpoint request. This directly compromises the confidentiality and availability of your help desk operations, customer support data, and administrative capabilities without requiring any credentials or user interaction. Any organization running affected versions faces immediate risk of unauthorized administrative access, data exfiltration, and operational disruption.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict network access to the /user-setup endpoint via firewall or WAF; place FreeScout behind VPN or IP allowlist if internet-facing; implement detailed request logging and real-time alerting for the vulnerable endpoint; conduct immediate password reset and session termination for all activated administrator accounts as a precautionary measure; establish process to monitor vendor advisories for patch release.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
popular open-source self-hosted help desk, sizeable but not enterprise-ubiquitous footprint
Exploit
POC
Public exploit code exists
Social Media
3
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

67
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +47
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-28289 CRITICAL POC
10.0 Mar 03

File upload bypass in FreeScout 1.8.206 — patch bypass for CVE-2026-27636. PoC and patch available. CVSS 10.0.

CVE-2026-27636 HIGH POC
8.8 Feb 25

Remote code execution in FreeScout prior to version 1.8.206 allows authenticated users to upload `.htaccess` files that

CVE-2026-27637 CRITICAL POC
9.8 Feb 25

Predictable password reset tokens in FreeScout help desk before 1.8.206. Weak random number generation allows attackers

CVE-2024-29185 CRITICAL POC
9.0 Mar 22

FreeScout is a self-hosted help desk and shared mailbox. Rated critical severity (CVSS 9.0), this vulnerability is remot

CVE-2025-58163 HIGH POC
8.6 Sep 03

FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Rated high severity (CVSS 8.6), this

CVE-2024-29184 HIGH POC
8.0 Mar 22

FreeScout is a self-hosted help desk and shared mailbox. Rated high severity (CVSS 8.0), this vulnerability is remotely

CVE-2024-28186 HIGH POC
7.1 Mar 12

FreeScout is an open source help desk and shared inbox built with PHP. Rated high severity (CVSS 7.1), this vulnerabilit

CVE-2024-34698 MEDIUM POC
6.3 May 14

FreeScout is a free, self-hosted help desk and shared mailbox. Rated medium severity (CVSS 6.3), this vulnerability is r

CVE-2024-34697 MEDIUM POC
6.1 May 14

FreeScout is a free, self-hosted help desk and shared mailbox. Rated medium severity (CVSS 6.1), this vulnerability is r

CVE-2026-32754 CRITICAL
9.3 Mar 19

A stored cross-site scripting (XSS) vulnerability exists in FreeScout help desk software versions 1.8.208 and below, whe

CVE-2026-41193 CRITICAL
9.1 Apr 21

Arbitrary file write in FreeScout (prior to 1.8.215) allows authenticated administrators to achieve remote code executio

CVE-2026-41902 CRITICAL
9.1 May 07

Unauthenticated account takeover in FreeScout versions prior to 1.8.217 allows remote attackers to gain permanent access

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy