Red Hat Security Advisory: Red Hat Quay - 3.18.3
🔗 CVE IDs covered (27)
📋 Description
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-84394 — fast-uri: fast-uri: Host confusion via unbalanced URI brackets can bypass security policies
CVE-2026-93749 — source-map-js: source-map-js: Denial of Service via malformed indexed source maps
CVE-2026-94603 — podman: podman: The podman run command can be instructed to disable almost all sandboxing - including user-requested sandboxing - by image annotation
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-114613 — msgpack: msgpack: Denial of Service via memory leak during map deserialization
CVE-2026-118669 — oauthlib: oauthlib: privilege escalation via client identity confusion in token grant handlers
CVE-2026-119194 — pyasn1: pyasn1: Denial of Service via hash collisions in schemaless decoding
CVE-2026-123710 — quay: Red Hat Quay: unauthenticated registry signing-key takeover via service key rotation
🎯 Affected products32
- Red Hat Quay 3.18
- registry.redhat.io/quay/clair-rhel9@sha256:231b5ebbea5114079604fb71b75729fc14fa341eb94642e26be10e1a296b473e_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/clair-rhel9@sha256:c3bd0d4c5b10bbb7d0a62705a95bc260b1c529bc4d386ef7603700ad3a198dd7_arm64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/clair-rhel9@sha256:cb7278ead7917b7372775e17e495b12cc40687f02565efb24064cd2e6a496a28_s390x as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/clair-rhel9@sha256:d57538bee4ca24efdf3e6fbaf536b408fcafa81ddb0dc822a6cfaa759f80cd8c_ppc64le as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-bridge-operator-bundle@sha256:8064e2e51925dd7bb970bd2c940f577dc9780dd67f54a05c8fb6a4b2b1d85892_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-bridge-rhel9-operator@sha256:04850754fa0d736e47b35cc3660fa0e64f32cabefd4eda8faa11767507b7dab0_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-bridge-rhel9-operator@sha256:1b190ca361e69318bb69ed29730c22d51cb84d67ad48516ed6201daec874efcf_arm64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-bridge-rhel9-operator@sha256:27f6868b03857eab33d9d5be68b495c54c2c000cdc371be5b604c5469469b298_s390x as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-bridge-rhel9-operator@sha256:98f5424349e02ba6c19b2718650ea9af95ab18418fd03afc4fe50e233853bdc1_ppc64le as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:261b6f1a1266602ec0b02e691a1c58546cb84f4c11cc12db0cb3e176ae77dde6_ppc64le as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:7779158eb2f8e21b1231759e97a8e375e2f1c98d71b855d7c96a588498df65b0_arm64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:d0bdae209bf2a2fee9f7e7227f4153530ab7d4a086e1d03b113712ed6974260c_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:fba7595d5da24acca7146cd194f279c5e38dfef0780f34f9630018452ba69c6f_s390x as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-builder-rhel9@sha256:705d1123878859c5363e949b7e46cffbe7e05d33947b2571859843bc82ccec35_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-builder-rhel9@sha256:7d8e8780b4ebe88981a4c32b74e41cde7d1bc56d11ceed4d679c33a5d47dc572_ppc64le as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-builder-rhel9@sha256:96fd6b2d01762378db3ea2c485601afc561975c31c53c024b61061b3f2db9a72_s390x as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-builder-rhel9@sha256:b2d3dde30a082049272eaab333a0a08fa9f57f389f27b47d32703ef8999c6c8e_arm64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-container-security-operator-bundle@sha256:c9b878d1640bd52ed5c0c7915178f4e224677e475950b1918514f70583eceb51_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-container-security-rhel9-operator@sha256:158805b520f7bbd72002f3034efd303aff7c668a2ad5f59019b8e95068c6b3b0_arm64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-container-security-rhel9-operator@sha256:3729ecdf051e997afcc456df1ab1512fb891911d796774b022aa8276b719314e_ppc64le as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-container-security-rhel9-operator@sha256:74b4856e34c885e7680480c765e638cf7a8be2ab6c91fe58cd682877ae46e706_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-container-security-rhel9-operator@sha256:89c62da878ddc64f121c98908101b149394e95f05eef0830d61f435f16311002_s390x as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-operator-bundle@sha256:cbac413b504c197d44f1e77a7a89c3590304e5ffd2f6b218be6aeb5267780127_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-rhel9-operator@sha256:33448a97bc6c667eeba639d2bff0a9bd23e84a96f1dcb7293e7b09bbcc842486_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-rhel9-operator@sha256:39f6de2f162ec3ef39d185690e255fe007e8eb472789840b3ce6eda15c87d125_arm64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-rhel9-operator@sha256:4c90c5b104519427f9b3c88f2aaadf5a9a5895bb553ac6f4b855c64d142b4f34_s390x as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-rhel9-operator@sha256:ce6bfaf42a3c515e4555b1ec930a73bcf4bc0f00cc3e9c71843f15c94008e396_ppc64le as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-rhel9@sha256:73dc625903bd25adac6815aac000d541d2d088f486a74373b05b8b8d3d5e6254_amd64 as a component of Red Hat Quay 3.18
- registry.redhat.io/quay/quay-rhel9@sha256:875a21611b588e8a5480a3f29aed9ef0667c80c48bebc989492b346f874ec6e1_ppc64le as a component of Red Hat Quay 3.18
- +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 (30)
- selfhttps://access.redhat.com/errata/RHSA-2026:99019
- 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-114613
- externalhttps://access.redhat.com/security/cve/CVE-2026-118669
- externalhttps://access.redhat.com/security/cve/CVE-2026-119194
- externalhttps://access.redhat.com/security/cve/CVE-2026-123710
- 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-84394
- externalhttps://access.redhat.com/security/cve/CVE-2026-93749
- externalhttps://access.redhat.com/security/cve/CVE-2026-94603
- 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_99019.json