+1 Although this is a breaking change, it does not affect client behavior.
Thanks,
Baodi Shi

Lari Hotari <[email protected]> 于2026年4月16日周四 20:03写道:
>
> Hi everyone,
>
> I'm proposing upgrading from Jetty 9.4.58 to Jetty 12.1.8 in the 4.0.x
> branch to address multiple CVEs in Jetty 9.4.x:
>
> - CVE-2026-5795 (High) - affects <=9.4.60
> - CVE-2026-2332 (High) - affects <=9.4.59
> - CVE-2025-11143 (Low) - affects <=9.4.58
>
> Jetty 9.4.x is EOL and only receives commercial non-OSS support. These
> CVEs will not be fixed in the open-source 9.4.x line. Jetty 12.1.x is
> the current actively maintained release series with long-term support.
>
> The implementation is available in PR
> https://github.com/apache/pulsar/pull/25534, which cherry-picks and
> adapts the Jetty 12 upgrade work already done on branch-4.2 and master
> (#25100, #25155, #25169) to branch-4.0.
>
> Breaking changes:
>
> There are a few breaking changes to be aware of:
>
> 1. AdditionalServlet interface change
> The AdditionalServlet interface has a breaking change because the
> existing interface is coupled directly to the Jetty 9 ServletHolder
> class. This coupling has been removed.
>
> 2. Java version requirement for Athenz authentication
> pulsar-client-auth-athenz requires Java 17+ since it depends on Jetty
> which requires Java 17+ after the upgrade. The Pulsar Client and
> Pulsar Admin client themselves remain Java 8+ compatible.
>
> 3. Prometheus metrics provider class relocation
> The Prometheus metrics provider classes for BookKeeper and ZooKeeper
> have been relocated, because the default classes depended on Jetty
> 9.4.x. If you are using the previous default configuration, update the
> following settings:
>
> bookkeeper.conf / statsProviderClass:
>   Old: org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
>   New: 
> org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider
>
> zookeeper.conf / metricsProvider.className:
>   Old: org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
>   New: 
> org.apache.pulsar.metrics.prometheus.zookeeper.PrometheusMetricsProvider
>
> The high-severity CVEs in Jetty 9.4.x are a concrete security concern
> for Pulsar deployments, with severity depending on exposure and
> configuration. They are also a practical blocker under many corporate
> security policies, where high-severity (CVSS >7.0) CVEs are not
> acceptable in dependencies or deployed software. Since Jetty 9.4.x is
> EOL without open-source fixes, the only viable path forward is
> upgrading to a supported Jetty version. The breaking changes are
> limited in scope -- the AdditionalServlet interface change affects a
> plugin API with likely few external implementations, the Athenz Java
> 17 requirement only affects that specific auth provider, and the
> metrics provider class names are a straightforward configuration
> update.
>
> I'd appreciate feedback on this proposal. I'll proceed with merging
> https://github.com/apache/pulsar/pull/25534 after 72 hours unless
> there are objections.
>
> Thanks,
> Lari

Reply via email to