CVE-2026-34443
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk20th percentile - higher than 20% of all known CVEs
Summary
FreeScout, a help desk system built with Laravel, has a bug in the checkIpByMask() function that checks if the input IP contains a '/' character. Plain IP addresses never contain '/', so the function always returns false without checking CIDR ranges. Private ranges 10.0.0.0/8 and 172.16.0.0/12 remain unprotected. Affects versions prior to 1.8.211.
Risk Assessment
Attackers from internal networks can bypass IP protection, potentially leading to unauthorized access to administrative functions.
Recommendation
Update FreeScout to version 1.8.211 or later.
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-85744Medium
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.
- 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.
Original NVD description (English source)
FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Prior to version 1.8.211, checkIpByMask() in app/Misc/Helper.php checks whether the input IP contains a / character. Plain IP addresses never contain /, so the function always returns false without checking any CIDR ranges. The entire 10.0.0.0/8 and 172.16.0.0/12 private ranges are unprotected. This issue has been patched in version 1.8.211.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

