Executive brief
CVAT is an open-source annotation tool used to label images and videos for machine learning. The application contains a stored cross-site scripting (XSS) vulnerability in its annotation guide feature. An attacker with permissions to edit annotation guides can upload a malicious HTML file disguised as an image, which executes arbitrary JavaScript when a user views it, potentially compromising access to all data the victim user can reach.
Technical details
The vulnerability is a stored XSS flaw in CVAT's asset serving mechanism for annotation guides. When assets are uploaded, CVAT accepts the attacker-supplied Content-Type header, but when serving the asset, it auto-detects the Content-Type from the filename. An attacker can upload a file named "evil.html" with a Content-Type of "image/gif", and CVAT will serve it as "text/html", causing the browser to execute embedded JavaScript. The attack requires the attacker to have annotation guide editing permissions and the victim to click a link to the malicious asset. The fix verifies that supplied and auto-detected Content-Types match, and adds a restrictive Content Security Policy header when serving assets.
Affected products
- CVAT CVAT 2.5.0 through 2.66.0
Timeline
- 2026-06-03: disclosed
- 2026-06-03: patched: Version 2.67.0 released
- 2026-08-04: advisory