<Vulnerability name="CVE-2026-110697">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Critical</ThreatSeverity>
    <PublicDate>2026-11-11T14:00:00</PublicDate>
    <Bugzilla id="2552237" url="https://bugzilla.redhat.com/show_bug.cgi?id=2552237" xml:lang="en:us">
quay: quay: SQL LIKE wildcard injection in robot listing leaks cross-tenant robot tokens
    </Bugzilla>
    <CVSS3 status="verified">
        <CVSS3BaseScore>9.9</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-89</CWE>
    <Details xml:lang="en:us" source="Mitre">
A flaw was found in Quay where the robot account listing function constructs a SQL LIKE pattern from user-controlled namespace names without escaping wildcard metacharacters. An attacker who creates a namespace containing an underscore character can match and retrieve robot accounts and their decrypted authentication tokens from other tenants' namespaces, leading to cross-tenant credential theft and unauthorized image operations.
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A flaw was found in Quay where the robot account listing function constructs a SQL LIKE pattern from user-controlled namespace names without escaping wildcard metacharacters. An attacker who creates a namespace containing an underscore character can match and retrieve robot accounts and their decrypted authentication tokens from other tenants' namespaces, leading to cross-tenant credential theft and unauthorized image operations.
    </Details>
    <Statement xml:lang="en:us">
This flaw is rated Critical because it lets an authenticated attacker break tenant isolation in multi-tenant Quay deployments. By creating a namespace whose name contains an underscore that collides with an existing one, the attacker causes the underscore to act as a single-character SQL LIKE wildcard, matching the victim's namespace. This allows the attacker to list and steal the victim's robot account tokens, then use them to read, push, or overwrite that tenant's container images. No elevated privileges or victim interaction are required. In OpenShift environments where Quay serves as the integrated container registry, stolen robot credentials can be used to inject malicious images into CI/CD pipelines, putting the container supply chain across production clusters at risk. Multi-tenant Quay deployments are common in enterprises sharing a registry across teams and in service providers hosting multiple customer organizations.
    </Statement>
    <Acknowledgement xml:lang="en:us">
This issue was discovered by Dave O'Connor (Red Hat).
    </Acknowledgement>
    <Mitigation xml:lang="en:us">
Update to the fixed Red Hat Quay release for your version: 3.9.28, 3.10.28, 3.12.24, 3.14.10, 3.15.9, 3.16.7, 3.17.7, or 3.18.3. Red Hat has already fixed Quay.io. There is no other complete workaround.
If you cannot update immediately, restrict who can create organizations or namespaces containing an underscore, rotate robot tokens for any namespace that collides with an underscore-containing one, and monitor registry activity for pulls or pushes that don't match expected robot usage. These steps reduce exposure but do not fix the underlying flaw.
    </Mitigation>
    <AffectedRelease cpe="cpe:/a:redhat:quay:3.10::el8">
        <ProductName>Red Hat Quay 3.10</ProductName>
        <ReleaseDate>2026-11-11T00:00:00Z</ReleaseDate>
        <Advisory type="RHSA" url="https://access.redhat.com/errata/RHSA-2026:99025">RHSA-2026:99025</Advisory>
        <Package name="quay/quay-rhel8">quay/quay-rhel8:1793993674</Package>
    </AffectedRelease>
    <AffectedRelease cpe="cpe:/a:redhat:quay:3.12::el8">
        <ProductName>Red Hat Quay 3.12</ProductName>
        <ReleaseDate>2026-11-11T00:00:00Z</ReleaseDate>
        <Advisory type="RHSA" url="https://access.redhat.com/errata/RHSA-2026:99027">RHSA-2026:99027</Advisory>
        <Package name="quay/quay-rhel8">quay/quay-rhel8:1793993854</Package>
    </AffectedRelease>
    <AffectedRelease cpe="cpe:/a:redhat:quay:3.14::el8">
        <ProductName>Red Hat Quay 3.14</ProductName>
        <ReleaseDate>2026-11-11T00:00:00Z</ReleaseDate>
        <Advisory type="RHSA" url="https://access.redhat.com/errata/RHSA-2026:99024">RHSA-2026:99024</Advisory>
        <Package name="quay/quay-rhel8">quay/quay-rhel8:1793993848</Package>
    </AffectedRelease>
    <AffectedRelease cpe="cpe:/a:redhat:quay:3.15::el8">
        <ProductName>Red Hat Quay 3.15</ProductName>
        <ReleaseDate>2026-11-11T00:00:00Z</ReleaseDate>
        <Advisory type="RHSA" url="https://access.redhat.com/errata/RHSA-2026:99023">RHSA-2026:99023</Advisory>
        <Package name="quay/quay-rhel8">quay/quay-rhel8:1793993771</Package>
    </AffectedRelease>
    <AffectedRelease cpe="cpe:/a:redhat:quay:3.16::el9">
        <ProductName>Red Hat Quay 3.16</ProductName>
        <ReleaseDate>2026-11-11T00:00:00Z</ReleaseDate>
        <Advisory type="RHSA" url="https://access.redhat.com/errata/RHSA-2026:99022">RHSA-2026:99022</Advisory>
        <Package name="quay/quay-rhel9">quay/quay-rhel9:1793993799</Package>
    </AffectedRelease>
    <AffectedRelease cpe="cpe:/a:redhat:quay:3.17::el9">
        <ProductName>Red Hat Quay 3.17</ProductName>
        <ReleaseDate>2026-11-11T00:00:00Z</ReleaseDate>
        <Advisory type="RHSA" url="https://access.redhat.com/errata/RHSA-2026:99026">RHSA-2026:99026</Advisory>
        <Package name="quay/quay-rhel9">quay/quay-rhel9:1793993778</Package>
    </AffectedRelease>
    <AffectedRelease cpe="cpe:/a:redhat:quay:3.18::el9">
        <ProductName>Red Hat Quay 3.18</ProductName>
        <ReleaseDate>2026-11-11T00:00:00Z</ReleaseDate>
        <Advisory type="RHSA" url="https://access.redhat.com/errata/RHSA-2026:99019">RHSA-2026:99019</Advisory>
        <Package name="quay/quay-rhel9">quay/quay-rhel9:1793993890</Package>
    </AffectedRelease>
    <AffectedRelease cpe="cpe:/a:redhat:quay:3.9::el8">
        <ProductName>Red Hat Quay 3.9</ProductName>
        <ReleaseDate>2026-11-11T00:00:00Z</ReleaseDate>
        <Advisory type="RHSA" url="https://access.redhat.com/errata/RHSA-2026:99021">RHSA-2026:99021</Advisory>
        <Package name="quay/quay-rhel8">quay/quay-rhel8:1793993730</Package>
    </AffectedRelease>
    <PackageState cpe="cpe:/a:redhat:mirror_registry:2">
        <ProductName>mirror registry for Red Hat OpenShift 2</ProductName>
        <FixState>Affected</FixState>
        <PackageName>openshift/mirror-registry-rhel8</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:quay:5">
        <ProductName>Red Hat Quay 5</ProductName>
        <FixState>Affected</FixState>
        <PackageName>quay/quay-rhel9</PackageName>
    </PackageState>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-110697
https://nvd.nist.gov/vuln/detail/CVE-2026-110697
https://access.redhat.com/solutions/7149592
    </References>
</Vulnerability>