Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public /api/guest/client/create endpoint
-
ExploitSubmit target email as guest signup
-
ExecutionObserve distinct 'already exists' error
-
ImpactConfirm email is registered client
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special conditions - remote unauthenticated exploitation against default configurations of FOSSBilling versions 0.1.0 through 0.8.6, since the POST /api/guest/client/create guest-signup endpoint is publicly reachable. Exploitation requires that guest registration is enabled (the code throws 'New registrations are temporarily disabled' when config disable_signup is set, which would suppress the distinct error path). Before 0.8.7 there was no per-email rate limiting, so mass enumeration was unthrottled; the fix adds a client_signup_email fixed-window limit of 5 attempts per hour, which is the primary limiting factor post-patch. Impact is bounded to confirming email-to-client membership (no credential, account, or data compromise). |
| Impact | This is a genuine but low-severity information-disclosure issue, not a high-priority emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) correctly reflects that any remote, unauthenticated attacker can reach the vulnerable POST /api/guest/client/create endpoint with no special conditions, which raises the base score to 6.9; however, the only impact metric set is VC:L (low confidentiality) with VI:N/VA:N, meaning the real-world consequence is limited to confirming whether a given email is a registered FOSSBilling client - an enumeration/privacy leak, not code execution, data theft, or integrity loss. No EPSS score was supplied in the input, and the CVE is not listed in CISA KEV; no public exploit code is referenced either, though a vendor security advisory (GHSA-x4mh-g4pc-wfc5), the fixing PR #4234, and the patch commit are all public, so a working exploit is trivial to reconstruct from the diff. The signals are consistent rather than conflicting: a network-reachable, low-complexity, unauthenticated flaw with low technical impact. Treat this as a routine hardening fix to schedule in normal patch cycles, prioritized higher only for internet-facing instances where client email confidentiality (e.g. anonymity of customers) matters. |
| Exploit ScenarioDerived | A remote unauthenticated attacker sends POST requests to /api/guest/client/create supplying candidate email addresses and observes that an already-registered email returns a distinct, unredacted 'client already exists' error versus the normal signup flow. By iterating over a list of target emails, the attacker builds a confirmed list of valid FOSSBilling customers. No public exploit is referenced, but the fixing PR diff fully reveals the behavior, making reconstruction trivial. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
FOSSBilling versions 0.1.0 through 0.8.6 leak email-to-client membership through the unauthenticated guest signup endpoint POST /api/guest/client/create: submitting an already-registered address returns a distinct, unredacted exception message from Client\Service::clientAlreadyExists instead of the normal success response, which effectively turns signup into an account-enumeration oracle. The CVSS 4.0 base score is 6.9, but the authoritative assessment rates actual impact as low (CVSS 3.1: AV:N/AC:L/PR:N/UI:N/C:L/I:N/A:N) because it only confirms that an email belongs to a client - no credentials, session, or account data are exposed. No public exploit code or active exploitation is known at time of analysis, and because guest registration can be disabled and pre-0.8.7 builds had no per-email throttling, unthrottled bulk enumeration was the realistic abuse case.
RemediationAI
Upgrade to FOSSBilling 0.8.7 or later, which is the vendor-released fix and incorporates the changes in PR #4234 (commit 19f41ff0a45874c7362b7732c8f68db84bc59c55) that normalize the guest-signup error response, stop returning the new client ID, and add a client_signup_email rate limit of 5 requests per hour - details at https://github.com/FOSSBilling/FOSSBilling/security/advisories/GHSA-x4mh-g4pc-wfc5. If immediate upgrade is not possible, disable public self-registration by setting disable_signup in the Client module configuration, which removes the enumeration oracle at the cost of blocking legitimate new signups; alternatively, front the /api/guest/client/create endpoint with a reverse-proxy rate limit or WAF rule keyed on the submitted email (e.g. a small number of requests per hour per address) and monitor for bursts of distinct signup attempts from the same source, accepting that IP-only throttling is easily evaded by distributed senders. After patching, verify that repeated submissions for the same address return an identical generic response and that the endpoint no longer returns a client ID.
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
FOSSBilling is a PHP billing and client-management platform built on a modular API. The guest endpoint Box\Mod\Client\Api\Guest::create handles public self-registration and, prior to the fix, delegated existence checks to Client\Service::clientAlreadyExists. When a match was found, the resulting exception message (e.g. that the email is already registered) was propagated through the API response layer without redaction, giving an attacker a binary oracle: unique vs. already-used email. This is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) in its classic enumeration-oracle form. The upstream fix (PR #4234, commit 19f41ff) restructures the handler so validation, email sanitization, and account-creation all run within a single try block whose exceptions are normalized, and it stops returning the created client's numeric ID from the guest endpoint (returning a boolean instead) so that the success path cannot be used to infer or confirm account identity either. It also adds a new rate-limiter bucket, client_signup_email - fixed_window, 5 attempts per hour - keyed on the submitted email, which throttles per-address enumeration that the pre-existing client_signup limit (IP-keyed) did not address. The CPE cpe:2.3:a:fossbilling:fossbilling:*:*:*:*:*:*:*:* with version range 0.1.0-0.8.6 confirms all releases in that window are affected; the codebase is PHP with a Doctrine-style service/API separation, so the trust boundary is simply the public HTTP API surface versus the client table.
Know when Fossbilling 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
Publicly reachable unauthenticated guest endpoint gives AV:N/AC:L/PR:N/UI:N; impact is limited to leaking client email membership, so C:L with I:N/A:N and no scope change.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
FOSSBilling is an open source billing and client-management platform. From 0.1.0 until 0.8.7, the unauthenticated POST /api/guest/client/create endpoint reveals whether a submitted email belongs to a registered client because guest signup returns a distinct unredacted error when the submitted email already exists. The trigger is an unauthenticated request to POST /api/guest/client/create with a target email address. An attacker can compare the guest-signup response for a target email to determine whether the email belongs to an existing FOSSBilling client. Box\Mod\Client\Api\Guest::create returns the error after Client\Service::clientAlreadyExists finds a matching record, and the API response exposes that exception message without redaction. This issue is fixed in version 0.8.7.
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.
More in Fossbilling
View allAuthorization bypass in FOSSBilling versions 0.5.4 through 0.7.x allows unauthenticated remote attackers to invoke privi
SQL Injection in GitHub repository fossbilling/fossbilling prior to 0.5.3. Rated critical severity (CVSS 9.8), this vuln
Server-side template injection in FOSSBilling versions prior to 0.8.0 allows authenticated administrators to execute arb
Unrestricted Upload of File with Dangerous Type in GitHub repository fossbilling/fossbilling prior to 0.5.3. Rated high
Missing Authorization in GitHub repository fossbilling/fossbilling prior to 0.5.0. Rated high severity (CVSS 7.5), this
Code Injection in GitHub repository fossbilling/fossbilling prior to 0.5.1. Rated high severity (CVSS 7.2), this vulnera
Business Logic Errors in GitHub repository fossbilling/fossbilling prior to 0.5.0. Rated medium severity (CVSS 6.5), thi
Cross-site Scripting (XSS) - Reflected in GitHub repository fossbilling/fossbilling prior to 0.5.4. Rated medium severit
Insufficient Session Expiration in GitHub repository fossbilling/fossbilling prior to 0.5.5. Rated critical severity (CV
Business Logic Errors in GitHub repository fossbilling/fossbilling prior to 0.5.0. Rated medium severity (CVSS 5.7), thi
Insufficient Granularity of Access Control in GitHub repository fossbilling/fossbilling prior to 0.5.0. Rated medium sev
Session Fixation in GitHub repository fossbilling/fossbilling prior to 0.5.1. Rated medium severity (CVSS 5.4), this vul
EUVD-2026-104418
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB