CVE-2026-53656

FiftyOne App server uses wildcard CORS (Access-Control-Allow-Origin: *), enabling cross-origin reads of local server data

Published Aug 21, 2026 CVSS 3.1 · 6.3 Medium EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical 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.

Remediation

No solution or workaround provided in the CVE record.

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
Type Values Removed Values Added
First Time appeared Voxel51
Voxel51 fiftyone
Vendors & Products Voxel51
Voxel51 fiftyone
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

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'}

Weaknesses
  • CWE-346

    Origin Validation Error

  • CWE-942

    Permissive Cross-domain Security Policy with Untrusted Domains

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 21, 2026, 9:42 PM
Reserved
Jun 9, 2026, 8:50 PM
Status
Awaiting Analysis
Published
Aug 21, 2026, 9:17 PM
Modified
Oct 12, 2026, 4:10 PM