Red Hat Security Advisory: Red Hat Quay 3.15.7
🔗 CVE IDs covered (13)
📋 Description
CVE-2026-13149 — brace-expansion: Brace-expansion: Denial of Service due to exponential-time complexity CVE-2026-45822 — decode-uri-component: decode-uri-component: Denial of Service via crafted input CVE-2026-54058 — Pillow: Pillow: Memory disclosure or denial of service via crafted McIdas AREA image CVE-2026-54060 — python-pillow: Pillow: Denial of Service via excessive memory allocation when processing font files CVE-2026-55379 — python-pillow: Pillow: Denial of Service via crafted BDF font file CVE-2026-55380 — python-pillow: Pillow: Denial of Service via crafted GD 2.x image file CVE-2026-59197 — Pillow: Pillow: Native heap out-of-bounds write CVE-2026-59199 — Pillow: Pillow: Denial of Service via out-of-bounds write in image processing CVE-2026-59200 — Pillow: Pillow: Denial of service via crafted PDF stream CVE-2026-59204 — Pillow: Pillow: Denial of Service via crafted JPEG2000 image CVE-2026-59205 — Pillow: Pillow: Controlled native heap corruption in ImageCms.ImageCmsTransform.apply API CVE-2026-59885 — pyasn1: python-pyasn1: pyasn1: Denial of Service via crafted ASN.1 OBJECT IDENTIFIER CVE-2026-59886 — pyasn1: pyasn1: Denial of Service via crafted ASN.1 REAL values
🎯 Affected products23
- Red Hat Quay 3.15
- registry.redhat.io/quay/clair-rhel8@sha256:8e11b087f99de92f6f135ec4d3567c7a9001cb9f806bcc0de5c1ea00f81ad41b_ppc64le as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/clair-rhel8@sha256:a2eb7829ecf57d4a1a3a331d056a5fa0f7d3469c5cc096c5d76d7e915f52b857_s390x as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/clair-rhel8@sha256:f62019f75e49598f7b973d684711efc494dccddf8fb82d27f2f80766206d6ef4_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-bridge-operator-bundle@sha256:33cc57d4b94be27402c910f3a88c96704af9a316128af9c10b35d8b951b897cd_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-bridge-operator-rhel8@sha256:035153582af7ad684123e474177f77ed9549dd410d222d16c4102022fea1de2f_ppc64le as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-bridge-operator-rhel8@sha256:a909c0671f973962d482ed3a66886e37ec086c7e44502a54c6fefb065507c47f_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-bridge-operator-rhel8@sha256:f2f05ee1f01e92185583dfc63ca09adafadae8701ccd0a14098c2704b6273bce_s390x as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-builder-qemu-rhcos-rhel8@sha256:2f5ec68c7c5e095b913089117a0df99420259950e50b3b1ee3263ca23f63be7b_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-builder-rhel8@sha256:4e324568117f52512ec8b3e960aa5766ddea77f2dc3ac96c8f312c2ba94807ab_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-builder-rhel8@sha256:7c322657021d03c5f452543214c39a7c9e0061e5d4fad0b4fdf550fbfb23defd_ppc64le as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-builder-rhel8@sha256:981e303e898ab97986d85c3c6b208c100b7a7f605c3309702dc69f911a95a9b3_s390x as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-container-security-operator-bundle@sha256:7a55c856f4103814c14f4d650ea89fc0ba2088d46ea7c315264622dc0d65e89a_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-container-security-operator-rhel8@sha256:071d056fda0fe4546be5963d9b193807c3b88b7681cc1c1cb77a5364c05d2c51_s390x as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-container-security-operator-rhel8@sha256:1ec8ddeef7aa52dcb522cec577cf55c72dfc6f9945aa52f3fa770ec01e6e20e2_ppc64le as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-container-security-operator-rhel8@sha256:9021e49a61ca01bdbc7b07ca0bcbf87d3675eeee987ed4ec8972d187849e5dd3_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-operator-bundle@sha256:c9e64e04bd56e8a0eb7378103375222982a070b2dba5a433de497ac7b756bf49_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-operator-rhel8@sha256:3ee122ba0a8d98edc7447ade746fc8d3b97a835f267ac3d18b4bc22e4fdbea80_ppc64le as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-operator-rhel8@sha256:8a594f76497e36abdee27529905e5fa437eb4fa4e8e1267b7e0ed0328b8ed55e_s390x as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-operator-rhel8@sha256:e07cd66b79aa5e342e621feab192e9791f2ccc28ab48bb63d08e73d29c631a50_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-rhel8@sha256:3773976a2937e59ee577d2f5c73f19b8204cc5347e23d2ae4cdd70759189d4f5_amd64 as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-rhel8@sha256:840b0af68ff3b06d1f4195e3bde1a60019994c6255d9622131ec2950c8aad50e_ppc64le as a component of Red Hat Quay 3.15
- registry.redhat.io/quay/quay-rhel8@sha256:bdfd5823d00ece5e608428350741629d132351a6789cdd042d07dbb4fd1f11a6_s390x as a component of Red Hat Quay 3.15
✅ Remediation
Before applying this update, make sure all previously released errata relevant to your system have been applied. For details on how to apply this update, refer to: https://access.redhat.com/articles/11258 Workaround: There is no practical mitigation for this vulnerability. The brace-expansion package is typically a transitive dependency pulled in via minimatch and glob, making it difficult to isolate. Users should upgrade to a fixed version of brace-expansion when one becomes available. Workaround: Validate and limit the length of any user-controlled input before passing it to decode-uri-component's decode() function. Inputs containing more than approximately 200 percent-encoded tokens (e.g. '%ab' sequences) can trigger noticeable delays. Reject or truncate URI components exceeding a reasonable length threshold before decoding. A fix exists in the upstream repository (commit fa479daf) but has not yet been included in an npm release. Workaround: Do not load BDF font files from untrusted sources. Applications that only process standard image formats (PNG, JPEG, etc.) and do not use BdfFontFile or ImageFont.load() with BDF files are not affected. Workaround: Avoid processing untrusted GD 2.x image files with PIL.GdImageFile.open(). Use Image.open() instead, which includes decompression bomb protections for supported formats. If GdImageFile must be used, validate the image dimensions before calling load(). Restricting accepted image formats at the application boundary to only those explicitly needed can reduce exposure. 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: If the application does not need JPEG2000 support, block .jp2, .j2k, .jpf, and .jpx uploads at the input layer. For services that do process JPEG2000, set memory limits on the process or container (LimitAS= in systemd, or memory limits in Kubernetes/Podman) so a crafted image can only crash the worker, not the whole host. Add automatic restarts (Restart=always in systemd, or container restart policies) so the service recovers from OOM kills without someone having to intervene. Workaround: Most applications using Pillow's color management via profileToProfile() or applyTransform() are not exposed. Only code that calls ImageCmsTransform.apply() directly with a user-controlled output image whose mode does not match the transform can trigger the heap corruption. Audit your code for direct apply() calls to confirm. RHEL builds ship with ASLR, full RELRO/PIE, and FORTIFY_SOURCE by default, making escalation from crash to code execution much harder. For DoS containment, configure automatic service restart (Restart=always in systemd, or container restart policies) so the process recovers without manual intervention. Workaround: Update to pyasn1 version 0.6.4 or later when available for your product stream. The impact is limited to availability (denial of service) — an attacker cannot access or modify data. Applications that do not process untrusted ASN.1 input are at reduced risk. Workaround: When processing untrusted ASN.1 data with pyasn1, avoid calling prettyPrint(), str(), float(), int(), or performing comparisons or arithmetic on decoded Real (ASN.1 REAL type) objects. Instead, inspect the raw (mantissa, base, exponent) tuple directly. Where logging decoded ASN.1 structures is necessary, filter out or sanitize Real-typed values before conversion.
🔗 References (16)
- selfhttps://access.redhat.com/errata/RHSA-2026:48933
- externalhttps://access.redhat.com/security/cve/CVE-2026-13149
- externalhttps://access.redhat.com/security/cve/CVE-2026-45822
- externalhttps://access.redhat.com/security/cve/CVE-2026-54058
- externalhttps://access.redhat.com/security/cve/CVE-2026-54060
- externalhttps://access.redhat.com/security/cve/CVE-2026-55379
- externalhttps://access.redhat.com/security/cve/CVE-2026-55380
- externalhttps://access.redhat.com/security/cve/CVE-2026-59197
- externalhttps://access.redhat.com/security/cve/CVE-2026-59199
- externalhttps://access.redhat.com/security/cve/CVE-2026-59200
- externalhttps://access.redhat.com/security/cve/CVE-2026-59204
- externalhttps://access.redhat.com/security/cve/CVE-2026-59205
- externalhttps://access.redhat.com/security/cve/CVE-2026-59885
- externalhttps://access.redhat.com/security/cve/CVE-2026-59886
- externalhttps://access.redhat.com/security/updates/classification/
- selfhttps://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_48933.json