ETK-2026-3170Zero's internal tracking ID, independent of the CVE number.
waiting for further signalsZero needs more public information before it can validate it.description
FreeScout 1.8.248, and potentially earlier releases, can retain password-reset tokens when an email address is changed, released, or assigned to another account. An attacker holding an unexpired token can reset the password of the account that later receives that address, including an administrator account; email reassignment during the token lifetime is required.
mitigation
Upgrade FreeScout to version 1.8.249. Until the upgrade is complete, invalidate outstanding password-reset tokens before changing, releasing, deleting, or reassigning email addresses.
fixed in 1.8.249
outcome
Contextual, not validated: no deterministic check could cover this one, and no technique passed our review.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-31 10:26Zghsa: trigger signal, started the run
this entry in the feed
GET /api/v1/feed/ETK-2026-3170
{ "etk_id": "ETK-2026-3170", "cve_id": null, "display_id": "ETK-2026-3170", "ghsa_id": "GHSA-c359-7mcr-j3xx", "euvd_id": null, "status": "published", "anchor_state": "awaiting_cve", "title": "Password-reset token reuse after email reassignment in FreeScout", "summary": "FreeScout 1.8.248, and potentially earlier releases, can retain password-reset tokens when an email address is changed, released, or assigned to another account. An attacker holding an unexpired token can reset the password of the account that later receives that address, including an administrator account; email reassignment during the token lifetime is required.", "mitigation": "Upgrade FreeScout to version 1.8.249. Until the upgrade is complete, invalidate outstanding password-reset tokens before changing, releasing, deleting, or reassigning email addresses.", "vendor": null, "product": "FreeScout", "affected": [ { "affected_notes": [], "affected_ranges": [ "<1.8.249" ], "ecosystem": null, "fixed_versions": [ "1.8.249" ], "package_name": null, "purl": null } ], "cwes": [ 640 ], "cvss_score": 8.8, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "contextual", "check": false, "check_confidence_basis": null, "exploit": false, "pipeline_minutes": 31.681965466666668, "t0_at": null, "signals": { "trigger_signal": { "at": "2026-10-31T10:26:26+00:00", "days": -0.2294954013773148, "is_lower_bound": true, "measured_at": "2026-10-31T15:56:54.435369+00:00", "url": "https://github.com/freescout-help-desk/freescout/security/advisories/GHSA-c359-7mcr-j3xx" } } }
published 2026-10-31 11:04Z
last change 2026-10-31 15:49Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.