{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-81033",
        "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "state": "PUBLISHED",
        "assignerShortName": "VulnCheck",
        "dateReserved": "2026-08-26T15:23:07.067Z",
        "datePublished": "2026-08-26T15:45:00.826Z",
        "dateUpdated": "2026-08-26T15:45:00.826Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
                "shortName": "VulnCheck",
                "dateUpdated": "2026-08-26T15:45:00.826Z"
            },
            "datePublic": "2026-08-26T00:00:00.000Z",
            "title": "Automatisch through 0.15.0 User Enumeration via Forgot-Password Response Discrepancy",
            "descriptions": [
                {
                    "lang": "en",
                    "value": "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."
                }
            ],
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "lang": "en",
                            "cweId": "CWE-204",
                            "description": "Observable Response Discrepancy",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "vendor": "automatisch",
                    "product": "automatisch",
                    "collectionURL": "https://github.com/automatisch/automatisch",
                    "repo": "https://github.com/automatisch/automatisch",
                    "defaultStatus": "unaffected",
                    "versions": [
                        {
                            "version": "0",
                            "lessThanOrEqual": "0.15.0",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ]
                }
            ],
            "metrics": [
                {
                    "format": "CVSS",
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "GENERAL"
                        }
                    ],
                    "cvssV4_0": {
                        "attackVector": "NETWORK",
                        "attackComplexity": "LOW",
                        "attackRequirements": "NONE",
                        "privilegesRequired": "NONE",
                        "userInteraction": "NONE",
                        "vulnConfidentialityImpact": "LOW",
                        "subConfidentialityImpact": "NONE",
                        "vulnIntegrityImpact": "NONE",
                        "subIntegrityImpact": "NONE",
                        "vulnAvailabilityImpact": "NONE",
                        "subAvailabilityImpact": "NONE",
                        "exploitMaturity": "NOT_DEFINED",
                        "Safety": "NOT_DEFINED",
                        "Automatable": "NOT_DEFINED",
                        "Recovery": "NOT_DEFINED",
                        "valueDensity": "NOT_DEFINED",
                        "vulnerabilityResponseEffort": "NOT_DEFINED",
                        "providerUrgency": "NOT_DEFINED",
                        "version": "4.0",
                        "baseSeverity": "MEDIUM",
                        "baseScore": 6.9,
                        "vectorString": "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"
                    }
                },
                {
                    "format": "CVSS",
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "GENERAL"
                        }
                    ],
                    "cvssV3_1": {
                        "attackVector": "NETWORK",
                        "attackComplexity": "LOW",
                        "privilegesRequired": "NONE",
                        "userInteraction": "NONE",
                        "scope": "UNCHANGED",
                        "confidentialityImpact": "LOW",
                        "integrityImpact": "NONE",
                        "availabilityImpact": "NONE",
                        "version": "3.1",
                        "baseSeverity": "MEDIUM",
                        "baseScore": 5.3,
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"
                    }
                }
            ],
            "references": [
                {
                    "url": "https://github.com/automatisch/automatisch",
                    "tags": [
                        "product"
                    ]
                },
                {
                    "url": "https://github.com/automatisch/automatisch/issues/2713",
                    "tags": [
                        "issue-tracking"
                    ]
                },
                {
                    "url": "https://github.com/automatisch/automatisch/blob/v0.15.0/packages/backend/src/controllers/internal/api/v1/users/forgot-password.js",
                    "tags": [
                        "technical-description"
                    ]
                },
                {
                    "name": "VulnCheck Advisory: Automatisch through 0.15.0 User Enumeration via Forgot-Password Response Discrepancy",
                    "tags": [
                        "third-party-advisory"
                    ],
                    "url": "https://www.vulncheck.com/advisories/automatisch-through-0.15.0-user-enumeration-via-forgot-password-response-discrepancy"
                }
            ],
            "credits": [
                {
                    "lang": "en",
                    "value": "George Chen",
                    "type": "finder"
                }
            ],
            "x_generator": {
                "engine": "vulncheck-endgame"
            },
            "source": {
                "discovery": "UNKNOWN"
            }
        }
    }
}