CVE-2026-11569: Quay Stored XSS via Unvalidated SVG File Upload
Quay, a container image registry platform, contains a vulnerability in its file upload endpoint that fails to properly validate file types. An authenticated user with write access to a repository can exploit this to upload a malicious SVG file containing embedded JavaScript code. Because the file is stored and then served inline by the CDN without proper content-type restrictions, any user visiting the archive URL will have that JavaScript execute in their browser—a stored cross-site scripting attack. The vulnerability requires an attacker to already have repository write permissions and the victim to click a link, which limits but does not eliminate risk in collaborative development environments.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.4 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-08 / 2026-06-17
NVD description (verbatim)
A flaw was found in Quay. The filedrop endpoint accepts any mime type without validation, allowing an authenticated user with repository write access to upload a malicious SVG file containing JavaScript. The file is stored and served inline through the CDN, enabling stored cross-site scripting when a victim visits the archive URL.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-11569 is a stored XSS vulnerability in Quay's filedrop endpoint. The endpoint lacks MIME type validation, permitting authenticated users to upload SVG files with embedded JavaScript payloads. The uploaded file is subsequently delivered via CDN with inline serving behavior, causing the JavaScript to execute within the victim's browser context. The attack vector is network-based, requires low attack complexity, demands prior authentication and user interaction (clicking a link), and impacts confidentiality and integrity with a cross-site scope. The CVSS v3.1 score of 5.4 (MEDIUM severity) reflects the authentication requirement and reliance on user action to trigger the exploit.
Business impact
In container registry environments, stored XSS attacks can compromise developer workflows and supply chain security. An attacker with repository write access can inject malicious scripts that execute when colleagues or automation systems view archive URLs, potentially leading to credential theft, lateral movement, or manipulation of CI/CD processes. For organizations using Quay in multi-tenant or collaborative settings, this creates an insider-risk vector where a malicious or compromised authenticated account can harm other users without requiring further privilege escalation.
Affected systems
Quay container image registry is affected. The vulnerability affects installations where the filedrop endpoint is active and accessible to authenticated users with repository write permissions. No specific version numbers are provided in the available advisory data; organizations should verify affected versions against the official Quay security advisory to determine their exposure.
Exploitability
Exploitation requires an authenticated attacker with repository write access—a meaningful but realistic constraint in development teams. The attacker uploads a specially crafted SVG file to the filedrop endpoint, then tricks or waits for a victim to visit the resulting archive URL. Because SVG rendering is ubiquitous in web browsers and the file is served inline, the JavaScript payload executes automatically without additional user action beyond the initial click. The simplicity of SVG-based XSS makes this practical for motivated insiders.
Remediation
Upgrade Quay to a patched version that validates MIME types on file uploads and applies proper content-type headers to prevent inline execution. Enforce principle of least privilege by restricting repository write access to trusted users only. Configure CDN or web server settings to serve user-uploaded files as attachments (Content-Disposition: attachment) rather than inline, forcing browser download instead of execution. Implement Content Security Policy headers to mitigate XSS impact across your Quay deployment.
Patch guidance
Check the official Quay project repository and Red Hat security advisories for patched versions that address MIME type validation in the filedrop endpoint. Apply the patch to all Quay instances in your environment. Test uploads and archive URL access in a non-production environment first to ensure no workflow disruption. Verify that the patched version properly sanitizes or rejects SVG uploads, or serves them with appropriate headers that prevent script execution.
Detection guidance
Monitor Quay access logs for filedrop endpoint POST requests from authenticated users, particularly those uploading SVG or XML-based files. Alert on unusual file uploads (SVG, XML) to repositories where they are not expected. Review recent archive URLs accessed in web server or CDN logs for signs of XSS payloads in referrer headers or logs. Inspect stored SVG files in Quay's backend for embedded script tags or event handlers. Enable browser console logging on developer workstations to catch injected scripts during normal Quay usage.
Why prioritize this
Although the CVSS score is MEDIUM (5.4), prioritization should account for the context of your environment. If your Quay instance is used by development teams with multiple contributors, the insider-threat vector is material. If write access is tightly controlled, risk is lower but not eliminated. The stored nature of the XSS (persistent across multiple victims) and the collaborative nature of container registries elevate the practical risk beyond the numeric score. Organizations should patch promptly but may deprioritize relative to critical unauthenticated flaws.
Risk score, explained
CVSS 5.4 (MEDIUM) reflects four key factors: (1) authentication required—the attacker must already have repository write access; (2) user interaction required—the victim must click the archive URL; (3) low attack complexity—no special setup needed; (4) cross-site scope and limited impact—confidentiality and integrity only, no availability impact. The score accurately captures the barrier to exploitation but may underweight the threat in collaborative development environments where user accounts are more numerous and supply chain risk is material.
Frequently asked questions
Does this affect unauthenticated users or only authenticated repository maintainers?
Only authenticated users with repository write access can upload files to the filedrop endpoint. However, any user (authenticated or unauthenticated) who visits the archive URL can be attacked. The attacker must be an insider or have compromised credentials.
Why is SVG a problem when other image formats are not?
SVG (Scalable Vector Graphics) is a text-based XML format that browsers render as vector graphics. Unlike PNG or JPEG, SVG can embed JavaScript code directly and supports event handlers like onload. When the browser renders the SVG, the JavaScript executes automatically, making SVG a natural vehicle for stored XSS attacks.
What is the difference between inline and attachment delivery, and why does it matter?
Inline delivery tells the browser to render the file as part of the page; attachment delivery triggers a download. When files are served inline, embedded scripts execute. When served as attachments, the browser downloads the file without executing any scripts, eliminating the XSS vector.
Should we disable the filedrop endpoint entirely if we cannot patch immediately?
Disabling filedrop is a valid mitigation if that feature is not critical to your workflow. Alternatively, enforce strict network access controls so only trusted internal IP ranges can access the filedrop endpoint, and configure CDN or web server headers to force attachment downloads until a patch is applied.
This analysis is based on the CVE record and publicly available advisory information as of the publication date. No specific Quay version numbers or patch releases are confirmed in this summary; consult the official Red Hat and Quay project security advisories for authoritative patch version guidance. CVSS scores and severity ratings are provided by the CVE authority and do not constitute a substitute for your organization's own risk assessment. All remediation and detection recommendations should be tested in your specific environment before production deployment. Source: NVD (public-domain), retrieved 2026-07-15. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2018-25384MEDIUMStored XSS in Wikidforum 2.20 Allows Authenticated Attackers to Inject Malicious Scripts
- CVE-2019-25731MEDIUMStored XSS in Zuz Music 2.1 Contact Form
- CVE-2019-25737MEDIUMStored XSS in Live Chat Unlimited 2.8.3 – Admin Session Compromise
- CVE-2019-25739MEDIUMGigToDo 1.3 Stored XSS Vulnerability in Proposal Descriptions
- CVE-2019-25742MEDIUMStored XSS in Zoner Real Estate WordPress Theme 4.1.1 – Admin Account Compromise Risk
- CVE-2019-25743MEDIUMWordPress Soliloquy Lite 2.5.6 Stored XSS Vulnerability
- CVE-2019-25744MEDIUMWordPress Popup Builder 3.49 Stored XSS Vulnerability – Exploit Prevention & Patch Guide
- CVE-2021-47982MEDIUMWP-Paginate 2.1.3 Stored XSS in Plugin Settings