`@ opentelemetry/propagator-jaeger` descodifica os valores de cabeçalho HTTP entrantes com ` decodeURIComponent()` sem manipular erros de decodificação. Um único pedido que carrega um valor porcentual mal- codificado (por exemplo, um `%` descarado) em um 'uber-trace-id` ou 'uberctx-*` cabeçalho lança um `URIERROR' não capturado, terminando qualquer processo Node.js que usa `JaegerPropagator` como seu propagador ativo. ** Denial of Service:** Qualquer atacante remoto não autêntico que possa enviar um pedido HTTP para um serviço que tenha o `JaegerPropagator` registrado como o propagador global (por exemplo, através de `OTEL_PROPAGATORS=jaeger` ou `propagation.setGlobalPropagator(novo JaegerPropagator())`) pode terminar o processo com um único pedido. Confidencialidade e integridade não são afetadas. Esta questão afeta apenas uma configuração específica, opt- in. Se você usar os propagadores padrão do OpenTelemetry (W 3 C TraceContext e Bagagem), você é ** não** afetado.

Você só será afetado se você tiver registrado o `JaegerPropagator` como o propagador ativo. Verificar por: - `@ opentelemetry/propagator- jaeger` na sua árvore de dependências, **e** - ` OTEL_PROPAGATORS` definido para `jaeger` (apenas Jaeger), **ou** um `propagation.setGlobalPropagator(novo JaegerPropagator()' chamado no seu código. Nota: se o `JaegerPropagator` for combinado com outros propagadores através de um `Propagator Composto' (por exemplo `OTEL_PROPAGATORS=jaeger,tracecontext`), o processo não termina - o propagador composto capta o erro - mas solicitações afetadas silenciosamente falham em extrair contexto. Você ainda deve atualizar.

- `@ opentelemetria/ propagador- jaeger` 2.9.0. Atualizar `@ opentelemetria/ propagator-jaeger` para 2.9.0 ou mais tarde. O propagador ignora agora os valores do cabeçalho que não pode decodificar em vez de jogar. **Mitigação interim (se você não puder atualizar):** Os cabeçalhos de contexto de traço nunca devem ser aceitos sem filtro de chamadas não confiadas. Até que você possa atualizar, desmontar ou validar os cabeçalhos `uber-trace-id` e `uberctx-*` nas solicitações de entrada na sua borda - por exemplo com um proxy inverso, gateway API, ou balanceador de carga (nginx, Enviado, etc.) - para que somente os serviços confiáveis a montante possam configurar. ` JaegerPropagator.extract()` chama `decodeURIComponent()` em valores brutos de cabeçalho em dois sites de chamadas não protegidos: o cabeçalho de traço `uber-trace-id` e cada valor de bagagem `uberctx-*'. `decodeURIComponent()` lança `URIerror: URI mal- formado' em inválido porcentagem de codificação. Como a instrumentação HTTP extrai o contexto antes do seu envoltório de erros do gestor de pedidos, e um único propagador configurado não é enrolado em um `Propagador Composto` (que de outra forma pegaria o erro), a exceção se propaga como um `uncaughtException` e termina o processo.

Contra um serviço usando o `JaegerPropagator`. ```' rinça de bash -H 'uberctx- user:%' # or rinça -H 'uber- trace-id:%' `` O processo Node.js sai com ` URIerror: URI mal- conformado` e pedidos subsequentes são recusados. Registro de aconselhamento: GHSA- 45 rx-, 2 jwx- cxfr. Identificadores relacionados: CVE- 2026 - 59892.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 21 T 19: 07: 28.000 Z e lista a sua última modificação como 2026 - 07 - 21 T 19: 07: 28.000 Z. Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.

Informações sobre software e versão afetadas: pacote npm @ opentelemetry/propagator-jaeger — ECOSYSTEM: introduzido 0, corrigido 2.9.0. Classificação e evidência: identificadores de fraqueza CWE- 248. O registro contém 5 suporte de referências nestes tipos: WEB, AVISO, EMBALAGAMENTO.