CVE-2026-41902 PUBLISHED

FreeScout's user invitation hash never expires: permanent unauthenticated account takeover if invite link leaks

Assigner: GitHub_M
Reserved: 22.04.2026 Published: 07.05.2026 Updated: 07.05.2026

FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Prior to version 1.8.217, the /user-setup/{hash} endpoint accepts a 60-character random invite_hash to set a new user's password. The endpoint performs no expiration check — the hash remains valid indefinitely until consumed. Combined with realistic hash-leakage scenarios (forwarded invite emails, HTTP referrer to external CDNs on the setup page, server-side log exposure, abandoned invite emails in shared inboxes), this enables unauthenticated permanent account takeover months or years after invite issuance. If the leaked invite was sent to an admin, the takeover yields admin access. This issue has been patched in version 1.8.217.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS Score: 9.1

Product Status

Vendor freescout-help-desk
Product freescout
Versions
  • Version < 1.8.217 is affected

References

Problem Types

  • CWE-613: Insufficient Session Expiration CWE