Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCollect candidate email addresses from OSINT
-
DeliverySend unauthenticated POST to /forgot-password for each address
-
ExploitCompare HTTP 404 (no account) vs HTTP 204 (registered) responses
-
ExecutionCompile confirmed account list
-
ImpactTarget confirmed users with credential-stuffing or phishing
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Response uniformity
|
| Exploitation Conditions | No special conditions are required - the /api/v1/users/forgot-password route is mounted without authentication middleware, so any caller with HTTP network access to the Automatisch instance can exploit the discrepancy against its default configuration. No application feature flag, non-default setting, or elevated privilege is needed. Exploitation is bounded in impact to account existence disclosure only: no passwords, session tokens, or user data are exposed through this endpoint. Bulk enumeration is further uninhibited by the absence of rate limiting in the described code path. The only practical limiting factor is network reachability to the Automatisch instance; deployments restricted to internal networks or VPNs reduce the attack surface to internal or VPN-authenticated parties. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N, score 6.9) accurately characterizes this as a remotely exploitable, zero-prerequisite flaw with limited but real confidentiality impact. The practical risk is primarily as an enabler for downstream attacks: bulk enumeration of confirmed account holders raises the efficiency of credential-stuffing and spear-phishing operations against Automatisch deployments. The absence of rate limiting in the code path means automated enumeration of large address lists is unrestricted, which amplifies the exploitation surface beyond what the modest CVSS score alone suggests. No EPSS data was provided, no public exploit code is referenced, and the vulnerability is not listed in CISA KEV, indicating no confirmed active exploitation at time of analysis. The real-world risk is therefore moderate - meaningful for organizations whose Automatisch user base represents sensitive or high-value targets, but not an immediate breach vector on its own. |
| Exploit ScenarioDerived | An attacker obtains a list of candidate email addresses for an organization from public sources such as LinkedIn exports or previous data breach dumps, then scripts HTTP POST requests to the Automatisch instance's /api/v1/users/forgot-password endpoint for each address. By sorting responses into HTTP 204 (account exists) and HTTP 404 (no account) buckets, the attacker builds a verified list of active Automatisch users in minutes with no credentials and no observable rate-limit enforcement, and then uses those confirmed addresses as targets for spear-phishing or as inputs to credential-stuffing tools. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 26, 2026
User enumeration via observable response discrepancy in Automatisch through v0.15.0 allows any unauthenticated remote caller to determine whether an email address holds an account. The forgot-password endpoint returns HTTP 404 for unregistered addresses and HTTP 204 for registered ones, with no rate limiting on the route, making automated bulk enumeration of account holders trivially achievable. No public exploit code or CISA KEV listing has been identified, though the zero-barrier exploitation conditions (unauthenticated, network-reachable, low complexity) make this a practical reconnaissance primitive for targeted phishing or credential-stuffing campaigns.
RemediationAI
The authoritative fix is to update the forgot-password controller to return an identical HTTP status code regardless of whether the submitted email address corresponds to a registered account - typically returning 200 or 204 unconditionally while still dispatching the reset email only when an account exists. Monitor the GitHub issue at https://github.com/automatisch/automatisch/issues/2713 and the VulnCheck advisory for a confirmed patched release version, as none is identified in the current data. As an immediate compensating control, apply per-IP rate limiting to the /api/v1/users/forgot-password route (e.g., 5 requests per minute per IP using express-rate-limit or an upstream API gateway rule); this does not eliminate the discrepancy but forces enumeration to be orders of magnitude slower and easier to detect, at the trade-off of potentially frustrating legitimate users behind shared NAT. Adding CAPTCHA or challenge-response verification to the endpoint provides a further barrier to automated abuse at the cost of user-experience friction on the password-reset flow.
Affected VersionsENISA
Affected Packages
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
The root cause is CWE-204 (Observable Response Discrepancy), where an application inadvertently leaks sensitive state through differential behavior. In Automatisch's Node.js backend, the controller at packages/backend/src/controllers/internal/api/v1/users/forgot-password.js performs a database lookup for the submitted email address and chains a not-found exception directly onto the query result for missing accounts. The global error handler converts that exception into an HTTP 404 response, while a valid address proceeds through the reset-email flow and returns HTTP 204 No Content. The route is registered without any authentication middleware and without rate-limiting, so the two status codes are freely observable by any caller. The affected CPE is cpe:2.3:a:automatisch:automatisch:*:*:*:*:*:*:*:*, covering all Automatisch versions through 0.15.0 per VulnCheck's advisory.
Know when Automatisch 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Unauthenticated network route with no complexity barrier; confidentiality impact limited to account existence disclosure only, no integrity or availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Automatisch reveals whether an address is registered through the response to its forgot-password request. The controller at packages/backend/src/controllers/internal/api/v1/users/forgot-password.js looks the address up and chains a not-found throw onto the query, so an address with no account raises an error that the global handler renders as a not-found status, while a registered address proceeds to send the reset message and returns no-content. The route is mounted without authentication. Submitting candidate addresses and comparing the two status codes therefore establishes which addresses hold accounts, with no credential and no rate limiting in the path.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-66609
GHSA-p996-89cm-88c6
NVD
CVE.org
EPSS
Exploit-DB