Impact
FiftyOne stores a dataset field’s free‑form description in the database and renders it directly using React’s dangerouslySetInnerHTML without any sanitization. Because the description is the only unescaped input in the component, an attacker can inject malicious HTML and JavaScript that will execute in the victim’s browser when the field is viewed, violating confidentiality and integrity and giving the attacker the power to read server files or access internal endpoints. This flaw is a classic Stored XSS attack, classified as CWE‑79.
Affected Systems
The vulnerability affects all Voxel51 FiftyOne deployments running any version prior to 1.21.0. The dataset schema stores the description, so any exported or published dataset that contains malicious markup can propagate the flaw to other installations. In open‑source deployments, the unauthenticated media route allows the injected script to fetch server files, worsening the impact. All installations that expose the field‑information component are at risk.
Risk and Exploitability
The CVSS score of 7 indicates a high severity flaw. No EPSS data is available, and the issue is not listed in CISA’s KEV catalog. Exploitation requires that an attacker supply a malicious dataset or otherwise insert a bad description, which can then be shared with or accessed by a victim. Once the victim hovers over the field, the injected code runs in the context of the FiftyOne web application, and because the media route is unauthenticated in the community edition, the payload can read local files and contact internal service endpoints as the viewing user.
OpenCVE Enrichment