CVE-2026-85744
MediumCVSS 5.4Exploitation Probability (EPSS)
Low risk11th percentile - higher than 11% of all known CVEs
Summary
In FreeScout prior to 1.8.227, the conversation_merge action records a failed authorization check for the target conversation in response['msg'] and then clears that value inside the source-conversation loop. An authenticated agent can merge a conversation they control into a target conversation in a mailbox they cannot access.
Risk Assessment
The operation injects threads, attachments, and audit records into the unauthorized target and deletes the source conversation, compromising data integrity. It does not disclose the target's existing contents.
Recommendation
Update FreeScout to version 1.8.227 or later. Until updated, monitor for unusual conversation merge operations.
Other vulnerabilities in FreeScout
See all- CVE-2026-41906High
FreeScout is a free help desk and shared inbox built with the Laravel framework. Prior to version 1.8.214, the Change Customer modal correctly hides out-of-scope customers, but the backend conversation_change_customer action accepts any supplied customer_email.
- CVE-2026-41905High
FreeScout prior to version 1.8.217 had a vulnerability in the Helper::sanitizeRemoteUrl() function that improperly validated URLs after HTTP redirects. An attacker could exploit this vulnerability to redirect traffic to internal HTTP services that would normally be blocked.
- CVE-2026-41904High
FreeScout prior to version 1.8.217 allows users with updateAutoReply permission to store an XSS payload in the auto-reply message. The payload is rendered unescaped in the auto-reply email sent to customers.
- CVE-2026-53595Critical
In FreeScout before version 1.8.224, the public endpoint `POST /user-setup/{hash}/{invite_sent_at}` allows an attacker to take over a user account without authentication. The vulnerability is due to trailing space equality in MySQL/MariaDB VARCHAR and improper decryption of the `invite_sent_at` parameter.
- CVE-2026-41902Critical
FreeScout prior to version 1.8.217 has a vulnerability in the /user-setup/{hash} endpoint that accepts a 60-character random invite_hash to set a new user's password. The lack of expiration check allows for unauthorized account takeover long after the invite was issued.
- CVE-2026-85742High
FreeScout prior to 1.8.230 allows a pre-authenticated attacker to place HTML in a failed-login email value that is copied through monitored user activity into a queued SendAlert job. If alert delivery fails, the serialized payload is stored in failed_jobs and the administrator job-details endpoint renders it after a blacklist sanitizer that leaves executable event-handler attributes, enabling JavaScript execution in the administrator context.
- CVE-2026-85743High
FreeScout before 1.8.230 does not consistently enforce a sink-level restricted-host policy across multiple outbound paths (Helper::downloadRemoteFile(), Helper::checkPort(), Helper::sanitizeRemoteUrl(), MailboxesController.php, ModulesController.php). An authenticated administrator or user permitted to change mailbox connection settings or trigger module updates can supply attacker-controlled URLs or hosts, reaching loopback and internal services.
- CVE-2026-62856High
FreeScout before 1.8.226 fails to escape SQL LIKE wildcards in channel names supplied to the polycast/receive endpoint, while channel authorization applies only to names with specific prefixes. An unauthenticated attacker with a guest session and valid CSRF token can submit a wildcard channel name to retrieve notification events intended for other users, exposing conversation content, identifiers, URLs, and notification HTML.
- CVE-2026-62855Medium
In FreeScout prior to 1.8.225, the administrator-only App Logs viewer accepts Laravel-encrypted folder and file parameters whose constructed path is checked only as a raw string. An administrator who also knows the APP_KEY can supply traversal segments that the filesystem normalizes outside storage/logs, allowing the route to read local files.
- CVE-2026-62854High
FreeScout before 1.8.225 allows a user who can edit a mailbox signature to combine a scriptable file uploaded via /uploads/upload with nested tag fragments that bypass Helper::stripDangerousTags(). The resulting external script is served from the same origin, so the script-src 'self' policy permits it when another user opens the affected reply editor or new-ticket page.
Original NVD description (English source)
FreeScout is a self-hosted help desk and shared mailbox. Prior to 1.8.227, the conversation_merge action records a failed authorization check for the target conversation in response['msg'] and then clears that value inside the source-conversation loop. An authenticated agent can merge a conversation they control into a target conversation in a mailbox they cannot access. The operation injects threads, attachments, and audit records into the unauthorized target and deletes the source conversation, but it does not disclose the target's existing contents. This issue is fixed in version 1.8.227.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

