Skip to main content

Automatisch EUVDEUVD-2026-66609

| CVE-2026-81033 MEDIUM
Observable Response Discrepancy (CWE-204)
2026-08-26 VulnCheck GHSA-p996-89cm-88c6
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Collect candidate email addresses from OSINT
  2. Delivery
    Send unauthenticated POST to /forgot-password for each address
  3. Exploit
    Compare HTTP 404 (no account) vs HTTP 204 (registered) responses
  4. Execution
    Compile confirmed account list
  5. Impact
    Target 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

automatisch 0 ≤0.15.0

Affected Packages

euvd automatisch no fix

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

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
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
vuln.today AI 5.3 MEDIUM

Unauthenticated network route with no complexity barrier; confidentiality impact limited to account existence disclosure only, no integrity or availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Low
niche open-source workflow automation tool, limited enterprise adoption
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy