Red Hat Security Advisory: Red Hat Quay - 3.17.7
🔗 CVE IDs covered (25)
📋 Description
CVE-2026-32591 — mirror-registry: quay: server-side request forgery in proxy cache upstream registry configuration CVE-2026-77403 — github.com/rabbitmq/amqp091-go: RabbitMQ amqp091-go: Denial of Service via AMQP frame size negotiation CVE-2026-77404 — github.com/rabbitmq/amqp091-go: RabbitMQ amqp091-go: Connection configuration overwrite via unsanitized TLS path parameter injection CVE-2026-77406 — github.com/rabbitmq/amqp091-go: RabbitMQ amqp091-go: Denial of Service via signed-to-unsigned integer casting CVE-2026-77409 — github.com/rabbitmq/amqp091-go: RabbitMQ amqp091-go: Denial of Service due to synchronous event channel blocking CVE-2026-77410 — github.com/rabbitmq/amqp091-go: RabbitMQ amqp091-go: Denial of Service via unbounded body buffer allocation CVE-2026-77412 — github.com/rabbitmq/amqp091-go: RabbitMQ amqp091-go: Denial of Service via Malicious AMQP Field Length CVE-2026-79921 — github.com/rabbitmq/amqp091-go: amqp091-go: Denial of Service via oversized AMQP payloads CVE-2026-84375 — js-yaml: js-yaml: Denial of Service vulnerability in YAML parsing CVE-2026-93749 — source-map-js: source-map-js: Denial of Service via malformed indexed source maps CVE-2026-97687 — urllib3: urllib3: Traffic interception via HTTPS proxy TLS configuration override CVE-2026-97689 — urllib3: urllib3: Denial of Service via unbounded memory allocation in chunk parser CVE-2026-102267 — pyjwt: pyjwt: Verification key substitution via unvalidated JWKS redirects CVE-2026-102268 — pyjwt: PyJWT: Authentication bypass via improper public key validation CVE-2026-102272 — pyjwt: pyjwt: Token forgery via improper Unicode byte-order mark handling CVE-2026-102273 — pyjwt: pyjwt: Token forgery via acceptance of public JWK containers as HMAC secrets CVE-2026-102996 — pypdf: pypdf: Denial of Service via excessive memory consumption during font parsing CVE-2026-102997 — pypdf: pypdf: Denial of Service via crafted FlateDecode stream CVE-2026-102999 — pypdf: pypdf: Denial of Service via crafted PDF with numerous embedded files CVE-2026-103000 — pypdf: pypdf: Denial of Service via large alphabetical page labels CVE-2026-110642 — xhtml2pdf: xhtml2pdf: Arbitrary command execution via crafted file names CVE-2026-110697 — quay: quay: SQL LIKE wildcard injection in robot listing leaks cross-tenant robot tokens CVE-2026-112390 — pillow: Pillow: Denial of Service via infinite loop during crafted MIC image parsing CVE-2026-118669 — oauthlib: oauthlib: privilege escalation via client identity confusion in token grant handlers CVE-2026-123710 — quay: Red Hat Quay: unauthenticated registry signing-key takeover via service key rotation
🎯 Affected products32
- Red Hat Quay 3.17
- registry.redhat.io/quay/clair-rhel9@sha256:19cd578d96c5c713976a59cfbf17eb90675a854d8e4307ec5aa7faf5c531539c_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/clair-rhel9@sha256:1b88ea791d02967d8fe6fe4b66f8c3e8364eee66ccbc6ae4658604de33f09ad7_s390x as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/clair-rhel9@sha256:dce2a8e900a151f2e834dfdf27f30be9795da73076433a131b1cf489df7d6a81_arm64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/clair-rhel9@sha256:f5fbb783f9c3f9c3b690baf3028a95a68d856b322a8978c373ec2dbd2ba7960d_ppc64le as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-bridge-operator-bundle@sha256:90745cf29982fcfcfa6392bc34500783516c3dc206c2916fd34f1e15b662b604_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-bridge-rhel9-operator@sha256:3ec401530d590c83eb3d0534b40d2fc12402ef6c52eea52314773c4af874d69e_ppc64le as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-bridge-rhel9-operator@sha256:5124f789ddc526cead153924dcf96828d0bde41eb4826fd242df0f733fe54062_arm64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-bridge-rhel9-operator@sha256:8ced624bb54c4d06bb995b158adb1b969f26ff04f0ae47474e395a88aa5b1914_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-bridge-rhel9-operator@sha256:cb7d81d1ee53358bba50ddddff2a2325f0f9e750dc8865dfc31712f533be1176_s390x as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:427baef11b03b8c54ecfecccb40dae142222d722f79c0ae78ae0d356b5b4579f_arm64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:4ae8a70f6c6365d7cba08612c9d44ea8d05b26480902fd8b23b3eb9012567e44_s390x as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:5fcf257c298abedc093175c1e698e544a8139235dcd1542933121e310ae60c54_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:b73cc1ccfdbb9ce32a7f83ca00f26c3e3eca7bfffe3e03ef215d5f0a4da36dd4_ppc64le as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-builder-rhel9@sha256:2dd8defd9c24aac6ffc81e3eebf32fd85f068f2a3991055b10ffa8e0a44e3f6a_s390x as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-builder-rhel9@sha256:63cb0e60cd1f03372ec9b0eaca2eea512f5c28151f9980172a5a49234a91b91d_ppc64le as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-builder-rhel9@sha256:c3fcd974ac348e5f74f3138e4293fd6b8ee1735f1cfebab3fd7c99b14c81d392_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-builder-rhel9@sha256:dc91bdbbd353e19f5c7b0aab523151e81dcdce77978b3e84a4eeb4a34fc769b8_arm64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-container-security-operator-bundle@sha256:e446afe0489ddb3676bac6636f92c01edbe41652abd87433f2e82ba53d426c08_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-container-security-rhel9-operator@sha256:4d5bf0193e6b7fa845bed8a3d4ee5980ff0bc7450ce1e99fc28d3a2f96df0a18_s390x as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-container-security-rhel9-operator@sha256:9ed1b43317ead929986a5ab048e55ca45c5bfc72a016c4fba5ab28e1e186aad6_arm64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-container-security-rhel9-operator@sha256:b016747f0d674bcd20bdfff308867baaeaaf893164c9ccae12e68904aa64cdc9_ppc64le as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-container-security-rhel9-operator@sha256:e45d57eb0c98bb00117c258a89968f1a31ed5ddba775b007f3e39dfae0174e76_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-operator-bundle@sha256:884df5a832cfc50c60718aac7e430d60719e3acc08e789a7f63756fe488c6133_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-rhel9-operator@sha256:39d79eeedc5d6309b6ec8e3a41ec5c9d1afb8893d19e46eb6b50ebcf4b3f7603_s390x as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-rhel9-operator@sha256:42b723cfdbbea8f0f423063502f188687134d7b2bdbf9c3a8fcd13f0ebe84829_arm64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-rhel9-operator@sha256:5a79cf563664d6c25c9f99ff484640ee9bf5dc034b304915832efc57760a0dc7_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-rhel9-operator@sha256:67d969ae8b92dbce8c0ccf457c1bc7381eb25ced42118feb0066b6b6fa2bb265_ppc64le as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-rhel9@sha256:4dcd91bb3456c2fbe4510cb4347ca3ac966bc36470a720ceb1b35171d1c421d3_amd64 as a component of Red Hat Quay 3.17
- registry.redhat.io/quay/quay-rhel9@sha256:7bfd7a6fabefa9572f9fde369f1c7e119269d28be8edeaf25d4cf4e7d2ca0dc5_ppc64le as a component of Red Hat Quay 3.17
- +2 more not shown
✅ Remediation
Before you apply this update, make sure all previously released errata that are relevant to your system are applied. For details on how to apply this update, refer to: https://access.redhat.com/articles/11258 Workaround: To mitigate this issue, ensure that applications using the RabbitMQ amqp091-go client only connect to trusted AMQP brokers. Restrict network access for clients to only communicate with known, secure broker instances. This reduces the risk of a malicious or compromised broker exploiting the client's vulnerability during frame size negotiation. Workaround: Avoid accepting untrusted values for TLS certificate, key, CA, or server-name paths. Restrict write access to directories and environment settings used to configure those paths, and upgrade applications using amqp091-go to version 1.13.0 or later when available. Workaround: Do not allow untrusted users to control AMQP QoS prefetch settings. Validate configured values are non-negative, and update applications using amqp091-go when a fixed version is available. Workaround: Use adequately buffered notification channels and ensure event consumers continuously drain them. Update applications using amqp091-go when a fixed version is available. Workaround: Connect only to trusted AMQP brokers, protect broker credentials and transport security, and update applications using amqp091-go when a fixed version is available. Workaround: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability. Workaround: The vulnerable code path is only reached when the pisa tool is invoked with the -s/--start-viewer option. As a workaround, avoid using the start-viewer option and process only files with trusted file names until a release containing the upstream fix is deployed. Workaround: 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. Workaround: --- CME Mitigation Guidance (2026-10-20) --- Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure. The highest-value action is to prevent Pillow from enumerating or extracting frames from untrusted Microsoft Image Composer (MIC) files when olefile is installed: upgrade to Pillow 13.0.0 (or the fixed Python Pillow/Python3.11 Pillow/Rhoai/Odh Openvino Model Server Rhel/Rhelai3/Bootc Cuda Rhel/Rhelai3/Bootc Gaudi Rhel/Rhelai3/Bootc Rocm Rhel/Rhelai3/Disk Image Cuda Rhel/Python3X Pillow/Rhaiis/Vllm Spyre Rhel/Rhoai/Odh Kserve Storage Initializer Rhel/Rhoai/Odh Kserve Agent Rhel/Rhoai/Odh Kserve Controller Rhel/Rhoai/Odh Kserve Router Rhel/Rhoai/Odh Feature Server Rhel/Rhoai/Odh Trustyai Nemo Guardrails Server Rhel/Rhaiis/Vllm Tpu Rhel/Rhoai/Odh Training Cuda128 Torch29 Py312 Rhel/Rhoai/Odh Training Rocm64 Torch29 Py312 Rhel/Rhaiis/Vllm Cpu Rhel/Rhaiis/Vllm Neuron Rhel/Ansible Automation Platform 25/Lightspeed Chatbot Rhel/Openshift Lightspeed/Lightspeed Ocp Rag Rhel/Rhoai/Odh Th06 Cpu Torch291 Py312 Rhel/Rhoai/Odh Th06 Cuda130 Torch291 Py312 Rhel/Rhoai/Odh Vllm Gaudi Rhel/Python3.12 Pillow/Rhaii/Vllm Gaudi Rhel/Rhaii/Vllm Neuron Rhel/Rhaii/Vllm Tpu Rhel/Lightspeed Core/Lightspeed Stack Rhel/Rhoai/Odh Kserve Autogluon Server Rhel/Rhai Early Access/Docling Sdk Cuda Rhel/Rhai Early Access/Docling Serve Cuda Rhel/Rhoai/Odh Llm D Kv Cache Rhel/Rhoai/Odh Th06 Cpu Torch210 Py312 Rhel/Rhoai/Odh Th06 Cuda130 Torch210 Py312 Rhel/Rhoai/Odh Th06 Rocm64 Torch291 Py312 Rhel/Rhoai/Odh Workbench Jupyter Pytorch Llmcompressor Cuda Py312 Rhel/Ask Sre/Rhel Cla/Rlsapi Rhel/Rhaiis/Model Opt Cuda Rhel/Rhaiis/Vllm Cuda Rhel/Rhaiis/Vllm Rocm Rhel/Rhaii/Model Opt Cuda Rhel/Rhaii/Vllm Cpu Rhel/Rhaii/Vllm Cuda Rhel/Rhaii/Vllm Rocm Rhel/Rhaii/Vllm Spyre Rhel/Ansible Automation Platform/Automation Dashboard Rhel/Ansible Automation Platform 26/Hub Rhel/Ansible Automation Platform 26/Lightspeed Chatbot Rhel/Ansible Automation Platform 27/Hub Rhel/Ansible Automation Platform 27/Lightspeed Chatbot Rhel/Galaxy Ng/Automation Hub Container/Aap Rag Content/Ansible Chatbot Stack/Koku Report Emailer/Exploit Intelligence/Vulnerability Analysis Rhel/Insights Host Inventory/Google Lightspeed Agent/Lscore Deploy/Lightspeed Core/Rag Tool Cpu Rhel/Lightspeed Core/Rag Tool Cuda 12.9 Rhel/Lightspeed Services Ocp/Ocp Rules Rhel/Openshift Lightspeed Tech Preview/Lightspeed Rag Tool Rhel/Openshift Lightspeed/Lightspeed Service Api Rhel/Rhoai/Odh Caikit Tgis Serving Rhel/Rhoai/Odh Llama Stack Core Rhel/Rhoai/Odh Pipeline Runtime Pytorch Llmcompressor Cuda Py312 Rhel/Rhoai/Odh Automl Rhel/Rhoai/Odh Autorag Rhel/Rhoai/Odh Mlflow Rhel/Rhoai/Odh Pipeline Runtime Datascience Cpu Py312 Rhel/Rhoai/Odh Pipeline Runtime Pytorch Cuda Py312 Rhel/Rhoai/Odh Pipeline Runtime Pytorch Rocm Py312 Rhel/Rhoai/Odh Pipeline Runtime Tensorflow Cuda Py312 Rhel/Rhoai/Odh Pipeline Runtime Tensorflow Rocm Py312 Rhel/Rhoai/Odh Trustyai Garak Lls Provider Dsp Rhel/Rhoai/Odh Workbench Codeserver Datascience Cpu Py312 Rhel/Rhoai/Odh Workbench Jupyter Datascience Cpu Py312 Rhel/Rhoai/Odh Workbench Jupyter Pytorch Cuda Py312 Rhel/Rhoai/Odh Workbench Jupyter Pytorch Rocm Py312 Rhel/Rhoai/Odh Workbench Jupyter Tensorflow Cuda Py312 Rhel/Rhoai/Odh Workbench Jupyter Tensorflow Rocm Py312 Rhel/Rhoai/Odh Workbench Jupyter Trustyai Cpu Py312 Rhel/Rhai/Guidellm Rhel/Rhoai/Odh Ogx Core Rhel/Rhoai/Odh Th Torch Cpu Py312 Rhel/Rhoai/Odh Th Torch Cuda Py312 Rhel/Rhoai/Odh Th Torch Rocm Py312 Rhel/Quay/Quay Service Tool/Quay/Quay Rhel/Rhelai3/Bootc Aws Cuda Rhel/Rhelai3/Bootc Azure Cuda Rhel/Rhelai3/Bootc Azure Rocm Rhel/Rhelai3/Bootc Gcp Cuda Rhel builds), which initialize _n_frames in __init__ instead of resetting it in _open(), and avoid re-setting _n_frames and is_animated in _seek() if already set, closing crafted Microsoft Image Composer (MIC) file with an embedded TIFF containing three or more IFDs. Until patched, this is a concern on Applications running Pillow 7.2.0 through 12.3.0 with olefile installed that query n_frames or extract frames from untrusted input, so Reject or sanitize untrusted MIC file uploads at ingestion and avoid calling n_frames or save_all on unverified images in environments where olefile is loaded. As a compensating measure, Impose CPU time limits using ulimit or prlimit to terminate worker processes caught in the non-advancing MIC image parsing loop before system CPU is exhausted and Configure service watchdogs with automatic restart under systemd to detect stalled processes via keep-alives and restore availability. These controls limit blast radius and contain exploitation, but they do not fix the underlying non-advancing frame traversal defect — apply the upstream patch to fully remediate. Highest-impact CME: CME-114 Process Resource Limits (ulimit/prlimit) (medium) Workaround: Restrict access to the /keys endpoint at the proxy or load balancer so only trusted internal components can reach it. Review audit logs for service_key_rotate and service_key_delete events with a null expiration_date, and remove any unrecognised approved service keys. Deleting a rogue key is not durable until a fixed build is deployed, because the anonymous request can install a new key.
🔗 References (28)
- selfhttps://access.redhat.com/errata/RHSA-2026:99026
- externalhttps://access.redhat.com/security/cve/CVE-2026-102267
- externalhttps://access.redhat.com/security/cve/CVE-2026-102268
- externalhttps://access.redhat.com/security/cve/CVE-2026-102272
- externalhttps://access.redhat.com/security/cve/CVE-2026-102273
- externalhttps://access.redhat.com/security/cve/CVE-2026-102996
- externalhttps://access.redhat.com/security/cve/CVE-2026-102997
- externalhttps://access.redhat.com/security/cve/CVE-2026-102999
- externalhttps://access.redhat.com/security/cve/CVE-2026-103000
- externalhttps://access.redhat.com/security/cve/CVE-2026-110642
- externalhttps://access.redhat.com/security/cve/CVE-2026-110697
- externalhttps://access.redhat.com/security/cve/CVE-2026-112390
- externalhttps://access.redhat.com/security/cve/CVE-2026-118669
- externalhttps://access.redhat.com/security/cve/CVE-2026-123710
- externalhttps://access.redhat.com/security/cve/CVE-2026-32591
- externalhttps://access.redhat.com/security/cve/CVE-2026-77403
- externalhttps://access.redhat.com/security/cve/CVE-2026-77404
- externalhttps://access.redhat.com/security/cve/CVE-2026-77406
- externalhttps://access.redhat.com/security/cve/CVE-2026-77409
- externalhttps://access.redhat.com/security/cve/CVE-2026-77410
- externalhttps://access.redhat.com/security/cve/CVE-2026-77412
- externalhttps://access.redhat.com/security/cve/CVE-2026-79921
- externalhttps://access.redhat.com/security/cve/CVE-2026-84375
- externalhttps://access.redhat.com/security/cve/CVE-2026-93749
- externalhttps://access.redhat.com/security/cve/CVE-2026-97687
- externalhttps://access.redhat.com/security/cve/CVE-2026-97689
- externalhttps://access.redhat.com/security/updates/classification/
- selfhttps://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_99026.json