Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker hosts malicious page at arbitrary domain
-
DeliveryVictim visits page while authenticated to Rybbit
-
ExploitBrowser issues credentialed cross-origin fetch to Rybbit API
-
ExecutionRybbit reflects attacker origin with credentials permitted
-
PersistBrowser grants attacker script access to API response
-
ImpactAttacker reads analytics and account data or performs authenticated mutations
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration CORS policy restriction
|
| Exploitation Conditions | Exploitation requires three concurrent conditions: (1) the target Rybbit instance is running a version prior to 2.7.0 with the default CORS configuration - no non-default setup is needed, the flaw is present in all pre-2.7.0 deployments; (2) the victim holds an active authenticated browser session to that Rybbit instance; and (3) the victim's browser can reach the Rybbit server origin from the attacker's page (i.e., the server is publicly accessible or the victim is on a network with access to an internal deployment). The primary limiting factor is UI:P - the victim must be socially engineered into loading the attacker's page during an active session. The Rybbit server itself requires no special feature to be enabled and no non-default configuration to be vulnerable. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N, score 8.6) accurately represents the threat: the exploit is network-reachable, requires no attacker privileges, involves no special attack conditions, and delivers high confidentiality and integrity impact against the vulnerable system. UI:P is correctly set - the victim must load an attacker-controlled page while holding an active session, introducing a social-engineering dependency. No EPSS score was provided in the input data, so exploitation probability cannot be quantified. There is no CISA KEV listing and no POC is referenced, indicating no confirmed active exploitation at time of analysis. The vulnerability's scope is contained to the Rybbit instance (SC:N/SI:N), meaning successful exploitation does not directly pivot into adjacent systems. Real-world priority should be high for organizations where Rybbit administrators or data consumers are targeted by phishing, and lower where the Rybbit instance is isolated to an internal network inaccessible from arbitrary external pages. |
| Exploit ScenarioDerived | An attacker registers a domain and hosts a page containing JavaScript that issues |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
CORS misconfiguration in Rybbit before 2.7.0 allows any attacker-controlled website to issue credentialed cross-origin requests to the Rybbit analytics server, because the server unconditionally reflects the request's Origin header in Access-Control-Allow-Origin while simultaneously enabling Access-Control-Allow-Credentials. Authenticated victims who visit a malicious page expose their analytics data, account information, and permit the attacker's script to perform state-changing API operations on their behalf. No public exploit has been identified at time of analysis, but the underlying attack class requires only standard browser Fetch API usage and is trivial to implement.
RemediationAI
Upgrade Rybbit to version 2.7.0 or later, which applies the fix from commit 6f1039bdd3328a84d6700031bc0ce4714020e2f9 (https://github.com/rybbit-io/rybbit/commit/6f1039bdd3328a84d6700031bc0ce4714020e2f9). After upgrading, ensure the BASE_URL environment variable is correctly set to the Rybbit dashboard origin so the new CORS allowlist is populated. If immediate upgrade is not feasible, place the Rybbit server behind a reverse proxy (e.g., nginx) configured to forcibly override the ACAO response header to only the specific trusted dashboard origin; note this requires careful path-based differentiation to avoid stripping CORS headers from the permissive /api/track tracking endpoint that legitimately serves third-party sites. An additional compensating control is to restrict network access to the Rybbit API to trusted IP ranges, preventing arbitrary external web pages from reaching the server directly, though this does not protect against same-network attacks. Full advisory details are at https://www.vulncheck.com/advisories/rybbit-reflects-any-origin-in-cors-responses-while-allowing-credentials.
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
Rybbit (cpe:2.3:a:rybbit-io:rybbit:*:*:*:*:*:*:*:*) is an open-source web analytics platform with a Fastify-based Node.js server. The root cause is CWE-942 (Permissive Cross-domain Policy with Untrusted Domains): the server registered @fastify/cors with a wildcard origin callback - origin: (_origin, callback) => { callback(null, true); } - while credentials: true was set. Although the HTTP specification prohibits combining a literal wildcard * in ACAO with credential sharing, Rybbit's explicit reflection of the actual Origin string bypasses that browser-level enforcement entirely, granting every origin the same trust as the legitimate dashboard. The v2.7.0 fix replaces this callback with createCorsOptionsDelegate(), which enforces an allowlist derived from the BASE_URL environment variable, and adds a createRejectUntrustedOriginHook onRequest hook that returns HTTP 403 for non-preflight requests from untrusted origins. Tracking endpoints (/api/track) are intentionally kept permissive but are now served without the credentials flag, as confirmed by the new test suite.
Know when Rybbit 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:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Network-accessible with no attacker privileges; requires victim to load attacker page (UI:R); scope unchanged; no availability impact; full read and write access to authenticated API.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Rybbit before 2.7.0 contains a CORS misconfiguration vulnerability that allows attackers to bypass origin restrictions by reflecting any request origin in Access-Control-Allow-Origin responses while credentials are enabled. Attackers can issue credentialed cross-origin requests from any website to read analytics data, account information, and perform authenticated state-changing operations as the victim user.
Executive ViewAI
Rybbit's CORS misconfiguration (CVE-2026-82287) enables attackers to harvest analytics data, account credentials, and perform unauthorized API operations from authenticated users who visit malicious websites. This creates direct data breach and compliance exposure for organizations running versions prior to 2.7.0.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-67818
GHSA-phf4-3733-pwc6
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB