Skip to content

Commit e428972

Browse files
authored
[fix][sec][branch-4.0] Upgrade to Jetty 12.1.8 to address several CVEs (#25534)
1 parent 18d24a8 commit e428972

163 files changed

Lines changed: 8124 additions & 1632 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

conf/bookkeeper.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ compactionRateByBytes=1000000
595595
# enableStatistics=true
596596

597597
# Stats Provider Class (if statistics are enabled)
598-
statsProviderClass=org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
598+
statsProviderClass=org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider
599599

600600
# Default port for Prometheus metrics exporter
601601
prometheusStatsHttpPort=8000

conf/zookeeper.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,6 @@ portUnification=false
7676
## Metrics Providers
7777
#
7878
# https://prometheus.io Metrics Exporter
79-
metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
79+
metricsProvider.className=org.apache.pulsar.metrics.prometheus.zookeeper.PrometheusMetricsProvider
8080
metricsProvider.httpPort=8000
81-
metricsProvider.exportJvmInfo=true
81+
metricsProvider.exportJvmInfo=true

distribution/server/pom.xml

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -82,29 +82,21 @@
8282
</dependency>
8383

8484
<dependency>
85-
<groupId>jline</groupId>
86-
<artifactId>jline</artifactId>
87-
<version>${jline.version}</version>
85+
<groupId>${project.groupId}</groupId>
86+
<artifactId>pulsar-bookkeeper-prometheus-metrics-provider</artifactId>
87+
<version>${project.version}</version>
8888
</dependency>
8989

9090
<dependency>
91-
<groupId>org.apache.zookeeper</groupId>
92-
<artifactId>zookeeper-prometheus-metrics</artifactId>
93-
<version>${zookeeper.version}</version>
94-
<exclusions>
95-
<exclusion>
96-
<groupId>ch.qos.logback</groupId>
97-
<artifactId>logback-core</artifactId>
98-
</exclusion>
99-
<exclusion>
100-
<groupId>ch.qos.logback</groupId>
101-
<artifactId>logback-classic</artifactId>
102-
</exclusion>
103-
<exclusion>
104-
<groupId>io.netty</groupId>
105-
<artifactId>netty-tcnative</artifactId>
106-
</exclusion>
107-
</exclusions>
91+
<groupId>${project.groupId}</groupId>
92+
<artifactId>pulsar-zookeeper-prometheus-metrics</artifactId>
93+
<version>${project.version}</version>
94+
</dependency>
95+
96+
<dependency>
97+
<groupId>jline</groupId>
98+
<artifactId>jline</artifactId>
99+
<version>${jline.version}</version>
108100
</dependency>
109101

110102
<dependency>
@@ -141,6 +133,12 @@
141133
<groupId>${project.groupId}</groupId>
142134
<artifactId>pulsar-testclient</artifactId>
143135
<version>${project.version}</version>
136+
<exclusions>
137+
<exclusion>
138+
<groupId>org.apache.zookeeper</groupId>
139+
<artifactId>zookeeper</artifactId>
140+
</exclusion>
141+
</exclusions>
144142
</dependency>
145143

146144
<dependency>
@@ -199,11 +197,6 @@
199197
<artifactId>log4j-slf4j2-impl</artifactId>
200198
</dependency>
201199

202-
<dependency>
203-
<groupId>org.apache.bookkeeper.stats</groupId>
204-
<artifactId>prometheus-metrics-provider</artifactId>
205-
</dependency>
206-
207200
<dependency>
208201
<groupId>io.prometheus</groupId>
209202
<artifactId>simpleclient_log4j2</artifactId>

distribution/server/src/assemble/LICENSE.bin.txt

Lines changed: 44 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,6 @@ The Apache Software License, Version 2.0
330330
- io.prometheus-simpleclient_common-0.16.0.jar
331331
- io.prometheus-simpleclient_hotspot-0.16.0.jar
332332
- io.prometheus-simpleclient_httpserver-0.16.0.jar
333-
- io.prometheus-simpleclient_jetty-0.16.0.jar
334333
- io.prometheus-simpleclient_log4j2-0.16.0.jar
335334
- io.prometheus-simpleclient_servlet-0.16.0.jar
336335
- io.prometheus-simpleclient_servlet_common-0.16.0.jar
@@ -354,8 +353,8 @@ The Apache Software License, Version 2.0
354353
- org.apache.logging.log4j-log4j-web-2.25.4.jar
355354
- org.apache.logging.log4j-log4j-layout-template-json-2.25.4.jar
356355
* Java Native Access JNA
357-
- net.java.dev.jna-jna-jpms-5.12.1.jar
358-
- net.java.dev.jna-jna-platform-jpms-5.12.1.jar
356+
- net.java.dev.jna-jna-jpms-5.18.1.jar
357+
- net.java.dev.jna-jna-platform-jpms-5.18.1.jar
359358
* BookKeeper
360359
- org.apache.bookkeeper-bookkeeper-common-4.17.3.jar
361360
- org.apache.bookkeeper-bookkeeper-common-allocator-4.17.3.jar
@@ -376,12 +375,10 @@ The Apache Software License, Version 2.0
376375
- org.apache.bookkeeper.http-http-server-4.17.3.jar
377376
- org.apache.bookkeeper.http-vertx-http-server-4.17.3.jar
378377
- org.apache.bookkeeper.stats-bookkeeper-stats-api-4.17.3.jar
379-
- org.apache.bookkeeper.stats-prometheus-metrics-provider-4.17.3.jar
380378
- org.apache.distributedlog-distributedlog-common-4.17.3.jar
381379
- org.apache.distributedlog-distributedlog-core-4.17.3-tests.jar
382380
- org.apache.distributedlog-distributedlog-core-4.17.3.jar
383381
- org.apache.distributedlog-distributedlog-protocol-4.17.3.jar
384-
- org.apache.bookkeeper.stats-codahale-metrics-provider-4.17.3.jar
385382
- org.apache.bookkeeper-bookkeeper-slogger-api-4.17.3.jar
386383
- org.apache.bookkeeper-bookkeeper-slogger-slf4j-4.17.3.jar
387384
- org.apache.bookkeeper-native-io-4.17.3.jar
@@ -395,25 +392,43 @@ The Apache Software License, Version 2.0
395392
- org.asynchttpclient-async-http-client-2.14.5.jar
396393
- org.asynchttpclient-async-http-client-netty-utils-2.14.5.jar
397394
* Jetty
398-
- org.eclipse.jetty-jetty-client-9.4.58.v20250814.jar
399-
- org.eclipse.jetty-jetty-continuation-9.4.58.v20250814.jar
400-
- org.eclipse.jetty-jetty-http-9.4.58.v20250814.jar
401-
- org.eclipse.jetty-jetty-io-9.4.58.v20250814.jar
402-
- org.eclipse.jetty-jetty-proxy-9.4.58.v20250814.jar
403-
- org.eclipse.jetty-jetty-security-9.4.58.v20250814.jar
404-
- org.eclipse.jetty-jetty-server-9.4.58.v20250814.jar
405-
- org.eclipse.jetty-jetty-servlet-9.4.58.v20250814.jar
406-
- org.eclipse.jetty-jetty-servlets-9.4.58.v20250814.jar
407-
- org.eclipse.jetty-jetty-util-9.4.58.v20250814.jar
408-
- org.eclipse.jetty-jetty-util-ajax-9.4.58.v20250814.jar
409-
- org.eclipse.jetty.websocket-javax-websocket-client-impl-9.4.58.v20250814.jar
410-
- org.eclipse.jetty.websocket-websocket-api-9.4.58.v20250814.jar
411-
- org.eclipse.jetty.websocket-websocket-client-9.4.58.v20250814.jar
412-
- org.eclipse.jetty.websocket-websocket-common-9.4.58.v20250814.jar
413-
- org.eclipse.jetty.websocket-websocket-server-9.4.58.v20250814.jar
414-
- org.eclipse.jetty.websocket-websocket-servlet-9.4.58.v20250814.jar
415-
- org.eclipse.jetty-jetty-alpn-conscrypt-server-9.4.58.v20250814.jar
416-
- org.eclipse.jetty-jetty-alpn-server-9.4.58.v20250814.jar
395+
- org.eclipse.jetty-jetty-alpn-client-12.1.8.jar
396+
- org.eclipse.jetty-jetty-alpn-conscrypt-server-12.1.8.jar
397+
- org.eclipse.jetty-jetty-alpn-server-12.1.8.jar
398+
- org.eclipse.jetty-jetty-annotations-12.1.8.jar
399+
- org.eclipse.jetty-jetty-client-12.1.8.jar
400+
- org.eclipse.jetty-jetty-http-12.1.8.jar
401+
- org.eclipse.jetty-jetty-io-12.1.8.jar
402+
- org.eclipse.jetty-jetty-jndi-12.1.8.jar
403+
- org.eclipse.jetty-jetty-plus-12.1.8.jar
404+
- org.eclipse.jetty-jetty-security-12.1.8.jar
405+
- org.eclipse.jetty-jetty-server-12.1.8.jar
406+
- org.eclipse.jetty-jetty-session-12.1.8.jar
407+
- org.eclipse.jetty-jetty-util-12.1.8.jar
408+
- org.eclipse.jetty-jetty-xml-12.1.8.jar
409+
- org.eclipse.jetty.compression-jetty-compression-common-12.1.8.jar
410+
- org.eclipse.jetty.compression-jetty-compression-gzip-12.1.8.jar
411+
- org.eclipse.jetty.compression-jetty-compression-server-12.1.8.jar
412+
- org.eclipse.jetty.ee-jetty-ee-webapp-12.1.8.jar
413+
- org.eclipse.jetty.ee8-jetty-ee8-annotations-12.1.8.jar
414+
- org.eclipse.jetty.ee8-jetty-ee8-nested-12.1.8.jar
415+
- org.eclipse.jetty.ee8-jetty-ee8-plus-12.1.8.jar
416+
- org.eclipse.jetty.ee8-jetty-ee8-proxy-12.1.8.jar
417+
- org.eclipse.jetty.ee8-jetty-ee8-security-12.1.8.jar
418+
- org.eclipse.jetty.ee8-jetty-ee8-servlet-12.1.8.jar
419+
- org.eclipse.jetty.ee8-jetty-ee8-servlets-12.1.8.jar
420+
- org.eclipse.jetty.ee8-jetty-ee8-webapp-12.1.8.jar
421+
- org.eclipse.jetty.ee8.websocket-jetty-ee8-websocket-jetty-api-12.1.8.jar
422+
- org.eclipse.jetty.ee8.websocket-jetty-ee8-websocket-jetty-common-12.1.8.jar
423+
- org.eclipse.jetty.ee8.websocket-jetty-ee8-websocket-jetty-server-12.1.8.jar
424+
- org.eclipse.jetty.ee8.websocket-jetty-ee8-websocket-servlet-12.1.8.jar
425+
- org.eclipse.jetty.toolchain-jetty-servlet-api-4.0.9.jar
426+
- org.eclipse.jetty.websocket-jetty-websocket-core-client-12.1.8.jar
427+
- org.eclipse.jetty.websocket-jetty-websocket-core-common-12.1.8.jar
428+
- org.eclipse.jetty.websocket-jetty-websocket-core-server-12.1.8.jar
429+
- org.eclipse.jetty.websocket-jetty-websocket-jetty-api-12.1.8.jar
430+
- org.eclipse.jetty.websocket-jetty-websocket-jetty-client-12.1.8.jar
431+
- org.eclipse.jetty.websocket-jetty-websocket-jetty-common-12.1.8.jar
417432
* SnakeYaml -- org.yaml-snakeyaml-2.0.jar
418433
* RocksDB - org.rocksdb-rocksdbjni-7.9.2.jar
419434
* Google Error Prone Annotations - com.google.errorprone-error_prone_annotations-2.45.0.jar
@@ -480,7 +495,6 @@ The Apache Software License, Version 2.0
480495
- io.dropwizard.metrics-metrics-core-4.1.12.1.jar
481496
- io.dropwizard.metrics-metrics-graphite-4.1.12.1.jar
482497
- io.dropwizard.metrics-metrics-jvm-4.1.12.1.jar
483-
- io.dropwizard.metrics-metrics-jmx-4.1.12.1.jar
484498
* Prometheus
485499
- io.prometheus-simpleclient_httpserver-0.16.0.jar
486500
* Oxia
@@ -501,9 +515,7 @@ The Apache Software License, Version 2.0
501515
- io.vertx-vertx-web-4.5.24.jar
502516
- io.vertx-vertx-web-common-4.5.24.jar
503517
* Apache ZooKeeper
504-
- org.apache.zookeeper-zookeeper-3.9.5.jar
505518
- org.apache.zookeeper-zookeeper-jute-3.9.5.jar
506-
- org.apache.zookeeper-zookeeper-prometheus-metrics-3.9.5.jar
507519
* Snappy Java
508520
- org.xerial.snappy-snappy-java-1.1.10.8.jar
509521
* Google HTTP Client
@@ -556,6 +568,10 @@ BSD 3-clause "New" or "Revised" License
556568
* JSR305 -- com.google.code.findbugs-jsr305-3.0.2.jar -- ../licenses/LICENSE-JSR305.txt
557569
* JLine -- jline-jline-2.14.6.jar -- ../licenses/LICENSE-JLine.txt
558570
* JLine3 -- org.jline-jline-3.21.0.jar -- ../licenses/LICENSE-JLine.txt
571+
* OW2 ASM
572+
- org.ow2.asm-asm-9.9.1.jar -- ../licenses/LICENSE-ASM.txt
573+
- org.ow2.asm-asm-commons-9.9.1.jar -- ../licenses/LICENSE-ASM.txt
574+
- org.ow2.asm-asm-tree-9.9.1.jar -- ../licenses/LICENSE-ASM.txt
559575

560576
BSD 2-Clause License
561577
* HdrHistogram -- org.hdrhistogram-HdrHistogram-2.1.9.jar -- ../licenses/LICENSE-HdrHistogram.txt
@@ -581,7 +597,6 @@ CDDL-1.1 -- ../licenses/LICENSE-CDDL-1.1.txt
581597
* Java Annotations API
582598
- com.sun.activation-jakarta.activation-1.2.2.jar
583599
* Java Servlet API -- javax.servlet-javax.servlet-api-3.1.0.jar
584-
* WebSocket Server API -- javax.websocket-javax.websocket-client-api-1.0.jar
585600
* HK2 - Dependency Injection Kernel
586601
- org.glassfish.hk2-hk2-api-2.6.1.jar
587602
- org.glassfish.hk2-hk2-locator-2.6.1.jar
@@ -609,6 +624,7 @@ Eclipse Public License - v2.0 -- ../licenses/LICENSE-EPL-2.0.txt
609624
* Jakarta Annotations API -- jakarta.annotation-jakarta.annotation-api-1.3.5.jar
610625
* Jakarta RESTful Web Services -- jakarta.ws.rs-jakarta.ws.rs-api-2.1.6.jar
611626
* Jakarta Injection -- org.glassfish.hk2.external-jakarta.inject-2.6.1.jar
627+
* Jakarta Transactions API -- jakarta.transaction-jakarta.transaction-api-1.3.3.jar
612628

613629
Public Domain (CC0) -- ../licenses/LICENSE-CC0.txt
614630
* Reactive Streams -- org.reactivestreams-reactive-streams-1.0.4.jar

distribution/server/src/assemble/bin.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@
128128
<exclude>com.google.android:annotations</exclude>
129129
<!-- Needed only in the pulsar-shell distro only -->
130130
<exclude>net.java.dev.jna:jna</exclude>
131+
<!-- Exclude org.apache.zookeeper:zookeeper since the patched version is included in the distribution -->
132+
<exclude>org.apache.zookeeper:zookeeper</exclude>
131133
</excludes>
132134
</dependencySet>
133135
</dependencySets>

distribution/shell/src/assemble/LICENSE.bin.txt

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -401,14 +401,18 @@ The Apache Software License, Version 2.0
401401
- async-http-client-2.14.5.jar
402402
- async-http-client-netty-utils-2.14.5.jar
403403
* Jetty
404-
- jetty-client-9.4.58.v20250814.jar
405-
- jetty-http-9.4.58.v20250814.jar
406-
- jetty-io-9.4.58.v20250814.jar
407-
- jetty-util-9.4.58.v20250814.jar
408-
- javax-websocket-client-impl-9.4.58.v20250814.jar
409-
- websocket-api-9.4.58.v20250814.jar
410-
- websocket-client-9.4.58.v20250814.jar
411-
- websocket-common-9.4.58.v20250814.jar
404+
- jetty-alpn-client-12.1.8.jar
405+
- jetty-client-12.1.8.jar
406+
- jetty-compression-common-12.1.8.jar
407+
- jetty-compression-gzip-12.1.8.jar
408+
- jetty-http-12.1.8.jar
409+
- jetty-io-12.1.8.jar
410+
- jetty-util-12.1.8.jar
411+
- jetty-websocket-core-client-12.1.8.jar
412+
- jetty-websocket-core-common-12.1.8.jar
413+
- jetty-websocket-jetty-api-12.1.8.jar
414+
- jetty-websocket-jetty-client-12.1.8.jar
415+
- jetty-websocket-jetty-common-12.1.8.jar
412416
* SnakeYaml -- snakeyaml-2.0.jar
413417
* Google Error Prone Annotations - error_prone_annotations-2.45.0.jar
414418
* Javassist -- javassist-3.25.0-GA.jar
@@ -434,7 +438,6 @@ MIT License
434438
CDDL-1.1 -- ../licenses/LICENSE-CDDL-1.1.txt
435439
* Java Annotations API
436440
- jakarta.activation-1.2.2.jar
437-
* WebSocket Server API -- javax.websocket-client-api-1.0.jar
438441
* HK2 - Dependency Injection Kernel
439442
- hk2-api-2.6.1.jar
440443
- hk2-locator-2.6.1.jar
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<!--
2+
3+
Licensed to the Apache Software Foundation (ASF) under one
4+
or more contributor license agreements. See the NOTICE file
5+
distributed with this work for additional information
6+
regarding copyright ownership. The ASF licenses this file
7+
to you under the Apache License, Version 2.0 (the
8+
"License"); you may not use this file except in compliance
9+
with the License. You may obtain a copy of the License at
10+
11+
http://www.apache.org/licenses/LICENSE-2.0
12+
13+
Unless required by applicable law or agreed to in writing,
14+
software distributed under the License is distributed on an
15+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
KIND, either express or implied. See the License for the
17+
specific language governing permissions and limitations
18+
under the License.
19+
20+
-->
21+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
23+
<modelVersion>4.0.0</modelVersion>
24+
<parent>
25+
<groupId>org.apache.pulsar</groupId>
26+
<artifactId>jetty-upgrade</artifactId>
27+
<version>4.0.10-SNAPSHOT</version>
28+
</parent>
29+
<artifactId>pulsar-bookkeeper-prometheus-metrics-provider</artifactId>
30+
<name>Apache Pulsar :: BookKeeper Stats Providers :: Prometheus</name>
31+
<dependencies>
32+
<dependency>
33+
<groupId>org.apache.bookkeeper.stats</groupId>
34+
<artifactId>bookkeeper-stats-api</artifactId>
35+
<version>${bookkeeper.version}</version>
36+
</dependency>
37+
38+
<dependency>
39+
<groupId>io.prometheus</groupId>
40+
<artifactId>simpleclient</artifactId>
41+
</dependency>
42+
43+
<dependency>
44+
<groupId>io.prometheus</groupId>
45+
<artifactId>simpleclient_hotspot</artifactId>
46+
</dependency>
47+
48+
<dependency>
49+
<groupId>io.prometheus</groupId>
50+
<artifactId>simpleclient_servlet</artifactId>
51+
</dependency>
52+
53+
<dependency>
54+
<groupId>io.netty</groupId>
55+
<artifactId>netty-common</artifactId>
56+
</dependency>
57+
<dependency>
58+
<groupId>io.netty</groupId>
59+
<artifactId>netty-buffer</artifactId>
60+
<scope>test</scope>
61+
</dependency>
62+
<dependency>
63+
<groupId>org.eclipse.jetty.ee8</groupId>
64+
<artifactId>jetty-ee8-servlet</artifactId>
65+
</dependency>
66+
67+
68+
<dependency>
69+
<groupId>com.google.guava</groupId>
70+
<artifactId>guava</artifactId>
71+
</dependency>
72+
73+
<dependency>
74+
<groupId>com.yahoo.datasketches</groupId>
75+
<artifactId>sketches-core</artifactId>
76+
</dependency>
77+
78+
<dependency>
79+
<groupId>org.apache.bookkeeper</groupId>
80+
<artifactId>testtools</artifactId>
81+
<version>${bookkeeper.version}</version>
82+
<scope>test</scope>
83+
</dependency>
84+
</dependencies>
85+
</project>

0 commit comments

Comments
 (0)