Skip to main content

Rybbit CVE-2026-82287

| EUVDEUVD-2026-67818 HIGH
Permissive Cross-domain Security Policy with Untrusted Domains (CWE-942)
2026-08-28 VulnCheck GHSA-phf4-3733-pwc6
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Attacker hosts malicious page at arbitrary domain
  2. Delivery
    Victim visits page while authenticated to Rybbit
  3. Exploit
    Browser issues credentialed cross-origin fetch to Rybbit API
  4. Execution
    Rybbit reflects attacker origin with credentials permitted
  5. Persist
    Browser grants attacker script access to API response
  6. Impact
    Attacker 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 fetch('https://analytics.victim.com/api/sites/1/sessions', {credentials: 'include'}). When an authenticated Rybbit user visits this page, the browser sends the request with the user's session cookies; Rybbit reflects the attacker's origin in Access-Control-Allow-Origin and returns Access-Control-Allow-Credentials: true, causing the browser to expose the full JSON response to the attacker's script. The same technique can be used against mutating endpoints such as site deletion, enabling authenticated state changes.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

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

rybbit 0 <2.7.0

Affected Packages

euvd rybbit fix: 2.7.0

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

Vendor (VulnCheck) PRIMARY 8.6 HIGH
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
vuln.today AI 8.1 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/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
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Low
niche open-source analytics platform, limited known enterprise footprint
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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