Description
FiftyOne is an open-source platform for refining high-quality datasets and visual AI models. Prior to 1.17.0, the FiftyOne App/API server in fiftyone/server/app.py and the /media route in fiftyone/server/routes/media.py unconditionally return Access-Control-Allow-Origin: *. Because the embedded server is local and unauthenticated, a malicious website visited by the user can read cross-origin responses. The /media endpoint accepts a filesystem path, allowing a drive-by page to read files accessible to the server process and exfiltrate them without additional clicks. The allowed_origins configuration and FIFTYONE_ALLOWED_ORIGINS environment variable now make cross-origin access explicit, while the default policy is same-origin. This issue is fixed in version 1.17.0.
Published: 2026-08-21
Score: 6.3 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

FiftyOne’s application server was configured to return an Access‑Control‑Allow‑Origin header of "*" without authentication checks. This wildcard CORS policy allowed any website loaded in a user’s browser to read responses from the local server, including files exposed through the /media endpoint. The flaw can be exploited to exfiltrate server‑side files by simply visiting a malicious page, leading to unauthorized disclosure of sensitive data. The CVSS score of 6.3 indicates a moderate severity vulnerability that can impact confidentiality.

Affected Systems

The issue affected the Voxel51 FiftyOne platform, specifically the App/API server components in fiftyone/server/app.py and the /media route in fiftyone/server/routes/media.py. All releases prior to version 1.17.0 were vulnerable; the fix was applied in version 1.17.0 with the introduction of an allowed_origin configuration and the FIFTYONE_ALLOWED_ORIGINS environment variable, which restricts cross‑origin access to explicitly listed domains.

Risk and Exploitability

With a CVSS of 6.3, moderate severity, and no EPSS data available, the vulnerability remains a tangible risk to environments that run unpatched FiftyOne instances. Because the server is local and unauthenticated, a drive‑by attack can trigger the cross‑origin read without any user interaction beyond visiting a malicious site. The vulnerability is not listed in CISA KEV, suggesting no widespread exploitation has been documented, but the attack path is straightforward and could be leveraged by any adversary with web hosting capabilities.

Generated by OpenCVE AI on August 21, 2026 at 21:28 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to FiftyOne v1.17.0 or later.
  • Configure the server to restrict CORS by setting the allowed_origins or FIFTYONE_ALLOWED_ORIGINS environment variable to trusted domains, ensuring that the default policy is same‑origin.
  • If updating immediately is not possible, disable or protect the /media endpoint with authentication, or block it entirely via a reverse proxy to prevent the read of local files.

Generated by OpenCVE AI on August 21, 2026 at 21:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-q78p-hj9h-5466 FiftyOne App server uses wildcard CORS (Access-Control-Allow-Origin: *), enabling cross-origin reads of local server data
History

Fri, 21 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
Description FiftyOne is an open-source platform for refining high-quality datasets and visual AI models. Prior to 1.17.0, the FiftyOne App/API server in fiftyone/server/app.py and the /media route in fiftyone/server/routes/media.py unconditionally return Access-Control-Allow-Origin: *. Because the embedded server is local and unauthenticated, a malicious website visited by the user can read cross-origin responses. The /media endpoint accepts a filesystem path, allowing a drive-by page to read files accessible to the server process and exfiltrate them without additional clicks. The allowed_origins configuration and FIFTYONE_ALLOWED_ORIGINS environment variable now make cross-origin access explicit, while the default policy is same-origin. This issue is fixed in version 1.17.0.
Title FiftyOne App server uses wildcard CORS (Access-Control-Allow-Origin: *), enabling cross-origin reads of local server data
Weaknesses CWE-346
CWE-942
References
Metrics cvssV3_1

{'score': 6.3, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T21:42:44.374Z

Reserved: 2026-06-09T20:50:36.876Z

Link: CVE-2026-53656

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-21T21:17:00.113

Modified: 2026-08-21T21:17:00.113

Link: CVE-2026-53656

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T21:30:17Z

Weaknesses
  • CWE-346

    Origin Validation Error

  • CWE-942

    Permissive Cross-domain Security Policy with Untrusted Domains