{"id":"CVE-2026-110697","kind":"vulnerability","aliases":["CVE-2026-110697"],"related":[],"title":"Quay: robot account listing leaks other tenants' credentials via SQL wildcard","description":"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.","summary":"Quay builds a SQL LIKE match from namespace names without escaping underscores, which act as wildcards. An attacker who creates a namespace containing an underscore can retrieve robot accounts and their decrypted tokens from other tenants' namespaces.","severity":"critical","cvss":9.9,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"quay","fixed":["3.9.28","3.10.28","3.12.24","3.14.10","3.15.9","3.16.7","3.17.7","3.18.3"],"affected":"unknown lower bound; fixed in 3.9.28, 3.10.28, 3.12.24, 3.14.10, 3.15.9, 3.16.7, 3.17.7, 3.18.3","ecosystem":"vendor"}],"ecosystems":[],"tags":["auth-required","container-registry","multi-tenant","other","quay","self-hosted"],"not_affected_if":["managed-hosting","single-tenant"],"how_to_check":"Check your Red Hat Quay version (self-hosted, multi-tenant) against the fixed releases for your minor line. If users can create organizations/namespaces, you are exposed. Review whether any namespace containing an underscore exists that could collide with another namespace.","fix":"Update Red Hat Quay to 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 (match your minor line). Red Hat says Quay.io is already fixed. If you cannot update: restrict who can create organizations/namespaces with underscores, rotate robot tokens for namespaces that collide with an underscore-containing one, and watch for unexpected pulls/pushes (Red Hat: reduces exposure, not a fix).","status":"open","published_at":"2026-11-11T17:17:14+00:00","first_seen_at":"2026-11-11T17:28:20+00:00","triaged_at":"2026-11-11T17:28:40+00:00","updated_at":"2026-11-11T17:30:09+00:00","category":"other","confidence":0.8,"triage":{"at":"2026-11-11T17:28:40Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"Quay: robot account listing leaks other tenants' credentials via SQL wildcard","impact":"high","summary":"Quay builds a SQL LIKE match from namespace names without escaping underscores, which act as wildcards. An attacker who creates a namespace containing an underscore can retrieve robot accounts and their decrypted tokens from other tenants' namespaces.","audience":"businesses","category":"other","nicknames":[],"who_cares":["quay","self-hosted","container-registry","multi-tenant"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"Attacker reads other tenants' robot tokens and performs image operations","analyst_note":"Find affected and fixed Quay versions and the vendor advisory from the NVD entry; confirm whether namespace creation needs an account.","how_to_check":"unknown","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["single-tenant"],"who_is_affected":"Organizations running Quay as a multi-tenant container registry where users can create namespaces. The sources do not name affected Quay versions or say whether single-tenant or default deployments are exposed. Teams running Quay only for one organization with no untrusted namespace creators can likely deprioritize it, but this is unconfirmed.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000706,"input_tokens":4587,"output_tokens":494,"severity_before":"critical"},"analyst_status":"done","analyst_note":"Find affected and fixed Quay versions and the vendor advisory from the NVD entry; confirm whether namespace creation needs an account.","search":"'-110697':14A,17A '-2026':13A,16A 'account':3A,61B,79C,112C 'act':46B 'attack':50B,98C 'auth':20B 'auth-requir':19B 'authent':116C 'build':34B 'charact':106C 'construct':82C 'contain':23B,55B,103C 'container-registri':22B 'control':90C 'creat':52B,100C 'credenti':8A,127C 'cross':125C 'cross-ten':124C 'cve':12A,15A 'decrypt':64B,115C 'escap':43B,94C 'flaw':71C 'found':73C 'function':81C 'host':32B 'imag':131C 'lead':122C 'leak':5A 'like':37B,85C 'list':4A,80C 'match':38B,108C 'metacharact':96C 'multi':26B 'multi-ten':25B 'name':41B,92C 'namespac':40B,54B,69B,91C,102C,121C 'oper':132C 'pattern':86C 'quay':1A,18A,29B,33B,75C 'registri':24B 'requir':21B 'retriev':59B,110C 'robot':2A,60B,78C,111C 'self':31B 'self-host':30B 'sql':10A,36B,84C 'tenant':7A,27B,68B,120C,126C 'theft':128C 'token':65B,117C 'unauthor':130C 'underscor':44B,57B,105C 'user':89C 'user-control':88C 'via':9A 'wildcard':11A,48B,95C 'without':42B,93C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted Red Hat Quay deployments (including Quay as the OpenShift integrated registry) where users can create namespaces or organizations. Any authenticated user can create a namespace with an underscore, which acts as a SQL wildcard, and read other tenants' robot tokens. Single-tenant installs where nobody untrusted can create namespaces can deprioritize it. Quay.io is already fixed by Red Hat.","tier":"B","verified":{"fix":{"at":"2026-11-11T17:30:09Z","by":"analyst","doc":"https://access.redhat.com/security/cve/CVE-2026-110697","run_id":3569},"how_to_check":{"at":"2026-11-11T17:30:09Z","by":"analyst","doc":"https://access.redhat.com/security/cve/CVE-2026-110697","run_id":3569},"who_affected":{"at":"2026-11-11T17:30:09Z","by":"analyst","doc":"https://access.redhat.com/security/cve/CVE-2026-110697","run_id":3569}},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["quay"],"ptokens":["quay"],"labels":["authrequired","containerregistry","critical","multitenant","other","quay","selfhosted"],"campaign_type":null,"search_a":"'-110697':14A,17A '-2026':13A,16A 'account':3A 'credenti':8A 'cve':12A,15A 'leak':5A 'list':4A 'quay':1A,18A 'robot':2A 'sql':10A 'tenant':7A 'via':9A 'wildcard':11A","search_b":"'account':61B 'act':46B 'attack':50B 'auth':20B 'auth-requir':19B 'build':34B 'contain':23B,55B 'container-registri':22B 'creat':52B 'decrypt':64B 'escap':43B 'host':32B 'like':37B 'match':38B 'multi':26B 'multi-ten':25B 'name':41B 'namespac':40B,54B,69B 'quay':29B,33B 'registri':24B 'requir':21B 'retriev':59B 'robot':60B 'self':31B 'self-host':30B 'sql':36B 'tenant':27B,68B 'token':65B 'underscor':44B,57B 'wildcard':48B 'without':42B","search_c":"'account':79C,112C 'attack':98C 'authent':116C 'charact':106C 'construct':82C 'contain':103C 'control':90C 'creat':100C 'credenti':127C 'cross':125C 'cross-ten':124C 'decrypt':115C 'escap':94C 'flaw':71C 'found':73C 'function':81C 'imag':131C 'lead':122C 'like':85C 'list':80C 'match':108C 'metacharact':96C 'name':92C 'namespac':91C,102C,121C 'oper':132C 'pattern':86C 'quay':75C 'retriev':110C 'robot':78C,111C 'sql':84C 'tenant':120C,126C 'theft':128C 'token':117C 'unauthor':130C 'underscor':105C 'user':89C 'user-control':88C 'wildcard':95C 'without':93C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-11T17:17:14+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","cvss_by":"secalert@redhat.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-110697","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-110697","severity":null,"published_at":"2026-11-11T17:17:14+00:00","modified_at":"2026-11-11T17:17:15+00:00","first_seen_at":"2026-11-11T17:28:20+00:00","fetched_at":"2026-11-11T17:28:20+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-110697:3569","url":"https://access.redhat.com/security/cve/CVE-2026-110697","severity":null,"published_at":"2026-11-11T17:30:09+00:00","modified_at":"2026-11-11T17:30:09+00:00","first_seen_at":"2026-11-11T17:30:09+00:00","fetched_at":"2026-11-11T17:30:09+00:00","note":"Red Hat CVE page read: authenticated user (PR:L) creating underscore namespace; fixed Quay releases listed; lower affected bound not stated; exploitation/PoC not checked beyond advisory.","cites":["https://access.redhat.com/security/cve/CVE-2026-110697"]}],"documents":[{"id":127432,"url":"https://access.redhat.com/security/cve/CVE-2026-110697","title":"Red Hat CVE-2026-110697","kind":"advisory","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}