- Issued:
- 2026-04-21
- Updated:
- 2026-04-21
RHSA-2026:9385 - Security Advisory
Synopsis
Red Hat OpenShift distributed tracing platform (Tempo) 3.9.2 release
Type/Severity
Security Advisory: Important
Topic
Red Hat OpenShift distributed tracing platform (Tempo) 3.9.2 has been released
Description
This release of the Red Hat OpenShift distributed tracing platform (Tempo) provides security improvements and bug fixes.
Breaking changes:
- None.
Deprecations:
- None.
Technology Preview features:
- None.
Enhancements:
- None.
Bug fixes:
- gRPC-Go authorization bypass vulnerability fix: Previously, gRPC-Go was vulnerable to an authorization bypass attack. This issue occurred because the HTTP/2 :path pseudo-header was not properly validated. Remote attackers could send raw HTTP/2 frames with a malformed :path that omitted the mandatory leading slash to bypass defined security policies. With this update, gRPC-Go properly validates the :path pseudo-header and rejects malformed requests. As a result, attackers can no longer bypass security policies to gain unauthorized access to services or disclose information. For more information, see https://access.redhat.com/security/cve/cve-2026-33186.
- XPath component fix: Previously, the github.com/antchfx/xpath component did not properly handle certain Boolean XPath expressions. A remote attacker could submit a crafted expression that caused an infinite loop, resulting in 100% CPU utilization and a denial-of-service condition. With this update, the XPath component correctly processes Boolean expressions that evaluate to true. The system no longer enters an infinite loop when handling these expressions. For more information, see https://access.redhat.com/security/cve/cve-2026-4645.
- Go JOSE denial-of-service vulnerability fix: Previously, the Go JOSE library for handling JSON Web Encryption (JWE) objects was vulnerable to a denial-of-service (DoS) attack. This issue occurred because the application failed when decrypting a specially crafted JWE object that specified a key wrapping algorithm but contained an empty encrypted key field. With this update, Go JOSE properly validates the encrypted key field before decryption. As a result, the application no longer crashes when processing malformed JWE objects, and the service remains available to legitimate users. For more information, see https://access.redhat.com/security/cve/cve-2026-34986.
- Lodash _.template function fix: Previously, the lodash _.template function validated the variable option but did not validate options.imports key names. Both options passed values to the same code execution path. An attacker with the ability to control options.imports key names or pollute Object.prototype could exploit this gap to execute arbitrary code. With this update, lodash validates options.imports key names by using the same rules applied to the variable option. The _.template function rejects invalid key names and prevents code injection through this path. For more information, see https://access.redhat.com/security/cve/cve-2026-4800.
- Go crypto/x509 and crypto/tls packages fix: Previously, the Go standard library crypto/x509 and crypto/tls packages did not limit the number of intermediate certificates processed during certificate chain building. An attacker could provide an excessive number of intermediate certificates, causing the system to perform an uncontrolled amount of work and resulting in a denial-of-service condition. With this update, the packages limit the number of intermediate certificates accepted during certificate chain validation. The system rejects certificate chains that exceed this limit. For more information, see https://access.redhat.com/security/cve/cve-2026-32280.
- Go Root.Chmod function fix: Previously, the Root.Chmod function in the Go standard library internal/syscall/unix package had a race condition between checking and modifying a target file. An attacker could replace the target with a symbolic link after the check but before the operation completed, causing the permission change to apply to the linked file instead. This allowed an attacker to bypass directory restrictions and change permissions on unintended files. With this update, the Root.Chmod function prevents this race condition. The function no longer follows symbolic links that replace the target during execution. For more information, see https://access.redhat.com/security/cve/cve-2026-32282.
- Go crypto/x509 package fix: Previously, the Go crypto/x509 package applied excluded DNS constraints to wildcard Subject Alternative Names (SANs) in a case-sensitive manner. An attacker could bypass certificate validation by using a different case in the wildcard SAN than the excluded DNS constraint specified. This allowed the system to accept a malicious certificate that should have been rejected. With this update, the package applies DNS constraints case-insensitively when validating wildcard SANs. Certificate chain verification correctly rejects certificates that match excluded DNS constraints regardless of case. For more information, see https://access.redhat.com/security/cve/cve-2026-33810.
- Go crypto/tls component fix: Previously, the Go crypto/tls component did not re-validate certificates against updated certificate authority (CA) settings during TLS session resumption. If CA settings changed between the initial handshake and a resumed session, the component used the original CA settings. An attacker could exploit this to bypass certificate validation and establish a connection that should have been rejected. With this update, the component validates certificates against the current CA settings during session resumption. Resumed sessions that no longer meet CA requirements are rejected. For more information, see https://access.redhat.com/security/cve/cve-2025-68121.
- jsonparser Delete function fix: Previously, the Delete function in the github.com/buger/jsonparser component did not validate offsets when processing malformed JSON input. A remote attacker could provide crafted JSON data that caused a runtime panic, resulting in a denial-of-service condition. With this update, the Delete function validates offsets before processing. The function handles malformed JSON input as expected. For more information, see https://access.redhat.com/security/cve/cve-2026-32285.
- path-to-regexp component fix: Previously, the path-to-regexp component did not limit the complexity of generated regular expressions. A remote attacker could provide input containing multiple sequential optional groups, causing exponential growth in the generated expression and excessive resource consumption. This resulted in a denial-of-service condition. With this update, the component limits regular expression complexity. Input patterns with sequential optional groups no longer cause excessive resource consumption. For more information, see https://access.redhat.com/security/cve/cve-2026-4926.
- Go net/url.Parse function fix: Previously, the Go net/url.Parse function did not properly validate the host component of URLs containing IP-literals. The function ignored invalid characters preceding IP-literals and accepted URLs that should have been rejected. With this update, the function validates the entire host component. URLs with invalid characters before IP-literals are rejected as malformed. For more information, see https://access.redhat.com/security/cve/cve-2026-25679.
- Go crypto/x509 module fix: Previously, the Go crypto/x509 module did not apply all email address constraints when validating certificates. If a certificate contained multiple email constraints with the same local portion but different domain portions, the module only enforced the last constraint and ignored the others. With this update, the module applies all email address constraints during certificate chain validation. Certificates are validated against every specified email constraint. For more information, see https://access.redhat.com/security/cve/cve-2026-27137.
Known issues:
- Gateway fails to forward OTLP HTTP traffic when receiver TLS is enabled. When Tempo Monolithic is configured with `multitenancy.enabled: true` and `ingestion.otlp.http.tls.enabled: true`, the gateway forwards OTLP HTTP traffic to the Tempo receiver using plain HTTP instead of HTTPS. As a consequence, the connection fails with a `connection reset by peer` error because the receiver expects TLS connections. OTLP gRPC ingestion through the gateway is not affected. Jira issue: https://issues.redhat.com/browse/TRACING-5973.
Solution
For details on how to apply this update, refer to:
Fixes
(none)CVEs
amd64
| registry.redhat.io/rhosdt/tempo-operator-bundle@sha256:d180bac53d873bba131cedd40db06cd784d8dc4795d9bff85a6b33921cc1dd9c |
| registry.redhat.io/rhosdt/tempo-gateway-rhel9@sha256:61eacd3b26e3d12166e61a3cabe2137fb074f245ded11e1f745bb74839f077d4 |
| registry.redhat.io/rhosdt/tempo-jaeger-query-rhel9@sha256:0205c0565948891a128ed9b6d639582b20cc50123ad22a8cbbf414d4843f2fe8 |
| registry.redhat.io/rhosdt/tempo-gateway-opa-rhel9@sha256:034af4f19268a6ae63aa7f49ca70f0d1c0311fd269a3bdd79f337260c89ac052 |
| registry.redhat.io/rhosdt/tempo-rhel9-operator@sha256:a5befd5575eebc08f0c6ec8b928f8b5c286ebb3d2dfcdbcb0cdd696b54335299 |
| registry.redhat.io/rhosdt/tempo-query-rhel9@sha256:1c4fa975d38a317a307967887524df0c7c3117a91452730978de55a70b41153b |
| registry.redhat.io/rhosdt/tempo-rhel9@sha256:9a0a8a33df8e58e391d28fae62e06378c4f3c26e4d81532d38728632698f637c |
arm64
| registry.redhat.io/rhosdt/tempo-gateway-rhel9@sha256:c939c718084a9f1cff2bb56f932398c58ee3968834ff31ce85c4d356423b6545 |
| registry.redhat.io/rhosdt/tempo-jaeger-query-rhel9@sha256:81a49b0518d578de0f8fafdb50cc844e1f6dbf1241d7a10856b8ae810fd873af |
| registry.redhat.io/rhosdt/tempo-gateway-opa-rhel9@sha256:a66154755c86d821035cf83c940401ddc2a8d45b395f3a36d58f5755de621e43 |
| registry.redhat.io/rhosdt/tempo-rhel9-operator@sha256:0a70a38b8b349197a0bd807e226803976c23fda03683f3d63b0687b9bd45d540 |
| registry.redhat.io/rhosdt/tempo-query-rhel9@sha256:3afa5f0d4f74e4d74a74ae9f2ed1c9cdd817473f3ae074de269af9625b77643d |
| registry.redhat.io/rhosdt/tempo-rhel9@sha256:53621f808c45a6c8aec0d2df240106a41b1f48c59bb3db648d3d20bb03cb92cf |
ppc64le
| registry.redhat.io/rhosdt/tempo-gateway-rhel9@sha256:9f8e4d6c9e6784baf45513552e8be6487d30d93679043519958b6cc47255b613 |
| registry.redhat.io/rhosdt/tempo-jaeger-query-rhel9@sha256:15db63cb743ea84e1acc3d668543233b4bd566c73dc0f033ae8b43390f324764 |
| registry.redhat.io/rhosdt/tempo-gateway-opa-rhel9@sha256:9012c42fbb769f3e186bb9ade5f5a044a38e0db7336648050def9fb2f0057c9e |
| registry.redhat.io/rhosdt/tempo-rhel9-operator@sha256:1dec0c1cd978d3f260d99133ac942a88e255708197f5ded6594db00082357d33 |
| registry.redhat.io/rhosdt/tempo-query-rhel9@sha256:820a6bdb3262f1350e06af22121ba6d454908ac6747fa64d768226e6ff77d982 |
| registry.redhat.io/rhosdt/tempo-rhel9@sha256:55635b179e701a58643a4ffc148d75ed2d1e82a383783812484e3da9b7bedaf4 |
s390x
| registry.redhat.io/rhosdt/tempo-gateway-rhel9@sha256:59b7e5bd9dfbf299d3fb92747eccc89a0ac546939f0496deb0cbd418b016be30 |
| registry.redhat.io/rhosdt/tempo-jaeger-query-rhel9@sha256:63a9b773e467978769c428a538c8d75c28bfe52e069ac17d269fb7b3c5ad7f54 |
| registry.redhat.io/rhosdt/tempo-gateway-opa-rhel9@sha256:b68e6b2f84171b46ba16b1a2e1d4e4624faacc09453cf14ca68e319e9c8b7115 |
| registry.redhat.io/rhosdt/tempo-rhel9-operator@sha256:c7ae36b9d4c9bfb0750bdb7e9d7b897940ab5149eb670b44c1fe9b1ca7688910 |
| registry.redhat.io/rhosdt/tempo-query-rhel9@sha256:ee7da439cd21c32b1bc419de7e6d00b13d755a7b360dfea2ff882f9b1a25aa9d |
| registry.redhat.io/rhosdt/tempo-rhel9@sha256:0925a2af960b4714614d3f73a14b7a2a04de655cfcedbdd843c06ea5872d1987 |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.