This is an automated email from the ASF dual-hosted git repository.

CalvinKirs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 29994a2079f [fix](fe) Update vulnerable dependencies (#69341)
29994a2079f is described below

commit 29994a2079fc8644226f8f47980c56c309bd97cc
Author: Calvin Kirs <[email protected]>
AuthorDate: Thu Oct 22 18:14:07 2026 +0800

    [fix](fe) Update vulnerable dependencies (#69341)
    
    Port the FE dependency CVE updates from #69334 to master. Upgrade
    vulnerable libraries and remove unused Avro RPC, YARN client, and Hive
    UDF dependencies. The Ranger Hadoop exclusions are omitted because
    master's authorization plugin needs those classes.
    
    Validation: the FE test script built 87 modules and all 7 Hive UDF tests
    passed. The local Doris review found no issues.
---
 fe/fe-core/pom.xml                                 |  3 +-
 .../trees/expressions/literal/JsonLiteralTest.java |  6 +-
 fe/hive-udf/pom.xml                                | 66 ++++++++++++++++++++++
 fe/pom.xml                                         | 65 ++++++++++++++++++---
 4 files changed, 129 insertions(+), 11 deletions(-)

diff --git a/fe/fe-core/pom.xml b/fe/fe-core/pom.xml
index 43fc7a869d5..c19b65251e5 100644
--- a/fe/fe-core/pom.xml
+++ b/fe/fe-core/pom.xml
@@ -929,7 +929,8 @@ under the License.
         <dependency>
             <groupId>com.taobao.arthas</groupId>
             <artifactId>arthas-packaging</artifactId>
-            <version>4.0.5</version>
+            <!-- Arthas embeds its own Netty; the FE BOM cannot update that 
copy. -->
+            <version>4.3.5</version>
         </dependency>
         <dependency>
             <groupId>org.mockito</groupId>
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/JsonLiteralTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/JsonLiteralTest.java
index 6e16ea9805e..d74630974c7 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/JsonLiteralTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/JsonLiteralTest.java
@@ -103,17 +103,17 @@ public class JsonLiteralTest {
 
     @Test
     public void testLoneHighSurrogateInObjectKey() {
-        // lone surrogate in object field name must also be rejected
+        // Jackson may reject invalid field names before Doris validates the 
parsed tree.
         AnalysisException ex = Assertions.assertThrows(AnalysisException.class,
                 () -> new JsonLiteral("{\"\\uD800\":\"value\"}"));
-        Assertions.assertTrue(ex.getMessage().contains("lone high surrogate"));
+        Assertions.assertTrue(ex.getMessage().contains("surrogate"));
     }
 
     @Test
     public void testLoneLowSurrogateInObjectKey() {
         AnalysisException ex = Assertions.assertThrows(AnalysisException.class,
                 () -> new JsonLiteral("{\"\\uDC00\":\"value\"}"));
-        Assertions.assertTrue(ex.getMessage().contains("lone low surrogate"));
+        Assertions.assertTrue(ex.getMessage().contains("surrogate"));
     }
 
     @Test
diff --git a/fe/hive-udf/pom.xml b/fe/hive-udf/pom.xml
index aae09cdef92..8abd5646b46 100644
--- a/fe/hive-udf/pom.xml
+++ b/fe/hive-udf/pom.xml
@@ -52,8 +52,40 @@ under the License.
             <groupId>org.apache.hive</groupId>
             <artifactId>hive-exec</artifactId>
             <version>${hive.version}</version>
+            <!-- The core artifact contains the UDF API without Hive's bundled 
old libraries. -->
+            <classifier>core</classifier>
             <scope>provided</scope>
             <exclusions>
+                <!-- UDFs do not use LLAP, YARN APIs, or ZooKeeper. -->
+                <exclusion>
+                    <groupId>org.apache.hive</groupId>
+                    <artifactId>hive-llap-tez</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.hadoop</groupId>
+                    <artifactId>hadoop-yarn-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.hadoop</groupId>
+                    <artifactId>hadoop-yarn-common</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.hadoop</groupId>
+                    <artifactId>hadoop-yarn-registry</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.zookeeper</groupId>
+                    <artifactId>zookeeper</artifactId>
+                </exclusion>
+                <!-- UDFs do not use YARN's server or the metastore's legacy 
FB303 service. -->
+                <exclusion>
+                    <groupId>org.apache.hadoop</groupId>
+                    <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.thrift</groupId>
+                    <artifactId>libfb303</artifactId>
+                </exclusion>
                 <exclusion>
                     <groupId>org.apache.calcite</groupId>
                     <artifactId>calcite-core</artifactId>
@@ -62,12 +94,46 @@ under the License.
                     <groupId>org.apache.calcite</groupId>
                     <artifactId>calcite-druid</artifactId>
                 </exclusion>
+                <!-- UDFs do not use Hive's JDBC driver or its bundled legacy 
dependencies. -->
+                <exclusion>
+                    <groupId>org.apache.calcite.avatica</groupId>
+                    <artifactId>avatica</artifactId>
+                </exclusion>
                 <exclusion>
                     <groupId>log4j</groupId>
                     <artifactId>log4j</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.apache.hive</groupId>
+            <artifactId>hive-serde</artifactId>
+            <version>${hive.version}</version>
+            <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.thrift</groupId>
+                    <artifactId>libfb303</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.hive</groupId>
+            <artifactId>hive-common</artifactId>
+            <version>${hive.version}</version>
+            <scope>provided</scope>
+            <exclusions>
+                <!-- Generic UDFs need Hive types, not Hive's embedded web 
server or console. -->
+                <exclusion>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jline</groupId>
+                    <artifactId>jline</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>fe-common</artifactId>
diff --git a/fe/pom.xml b/fe/pom.xml
index 420abce568a..304507a5446 100644
--- a/fe/pom.xml
+++ b/fe/pom.xml
@@ -250,14 +250,15 @@ under the License.
              from instantiating classes outside 
org.apache.avro.SERIALIZABLE_PACKAGES (AVRO-4189), which breaks Hudi's
              commit metadata readers. Every avro API iceberg 1.12.0 references 
exists in 1.12.1. -->
         <avro.version>1.12.1</avro.version>
-        <parquet.version>1.18.0</parquet.version>
+        <!-- Disable file-controlled KMS URLs by default (CVE-2026-73334). -->
+        <parquet.version>1.18.1</parquet.version>
         <spark.version>3.4.3</spark.version>
         <hudi.version>1.0.2</hudi.version>
         <obs.dependency.scope>compile</obs.dependency.scope>
         <cos.dependency.scope>compile</cos.dependency.scope>
         <qcloud-java-sdk.version>2.0.1</qcloud-java-sdk.version>
         <tencentcos.version>8.2.7</tencentcos.version>
-        <cos-api.version>5.6.211</cos-api.version>
+        <cos-api.version>5.6.269</cos-api.version>
         
<tencentcloud-sdk-java-sts.version>3.1.678</tencentcloud-sdk-java-sts.version>
         <huaweicloud-sdk-iam.version>3.1.20</huaweicloud-sdk-iam.version>
         <esdk-obs.version>3.21.11</esdk-obs.version>
@@ -288,9 +289,8 @@ under the License.
         <commons-validator.version>1.9.0</commons-validator.version>
         <gson.version>2.10.1</gson.version>
         <guava.version>33.2.1-jre</guava.version>
-        <!-- Jackson 2.16.0 is affected by multiple 2026 parser and 
polymorphic-deserialization
-             vulnerabilities, including CVE-2026-54512. Version 2.21.5 
contains the complete fixes. -->
-        <jackson.version>2.21.5</jackson.version>
+        <!-- Keep Jackson 2 aligned on the LTS maintenance release fixing 
CVE-2026-110879. -->
+        <jackson.version>2.21.8</jackson.version>
         <javassist.version>3.18.2-GA</javassist.version>
         <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
         <!-- Spring Framework 7 and Jetty EE11 require Jakarta Servlet 6.1. -->
@@ -309,7 +309,7 @@ under the License.
         <metrics-core.version>4.0.2</metrics-core.version>
         <resilience4j.version>2.4.0</resilience4j.version>
         <!-- Keep Netty compatible with Arrow Flight SQL 19 and other 
transitive Netty users. -->
-        <netty-all.version>4.2.17.Final</netty-all.version>
+        <netty-all.version>4.2.18.Final</netty-all.version>
         <!-- OpenTelemetry versions before 1.62.0 allow unbounded allocation 
while parsing W3C
              baggage (CVE-2026-45292); align the complete OpenTelemetry graph 
on the fixed BOM. -->
         <opentelemetry.version>1.62.0</opentelemetry.version>
@@ -339,6 +339,7 @@ under the License.
         <jetty-servlet.version>11.0.26</jetty-servlet.version>
         <jetty-websocket.version>9.4.58.v20250814</jetty-websocket.version>
         <okhttp.version>5.3.2</okhttp.version>
+        <okio.version>3.16.4</okio.version>
         <snakeyaml.version>2.6</snakeyaml.version>
         <zjsonpatch.version>0.2.3</zjsonpatch.version>
         <kafka-clients.version>3.4.0</kafka-clients.version>
@@ -423,7 +424,10 @@ under the License.
         <lz4-java-relocation.version>1.8.1</lz4-java-relocation.version>
         <lz4-java.version>1.11.1</lz4-java.version>
         <immutables.version>2.9.3</immutables.version> 
-        <ivy.version>2.5.2</ivy.version>
+        <!-- Fix PackagerResolver path traversal (CVE-2026-26032). -->
+        <ivy.version>2.6.0</ivy.version>
+        <ant.version>1.10.18</ant.version>
+        <groovy-all.version>2.4.21</groovy-all.version>
         <icu4j.version>78.1</icu4j.version>
         <ini4j.version>0.5.4</ini4j.version>
         <!--todo waiting release-->
@@ -609,6 +613,14 @@ under the License.
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
+            <!-- Align legacy cloud clients with the Okio version used by 
OkHttp 5. -->
+            <dependency>
+                <groupId>com.squareup.okio</groupId>
+                <artifactId>okio-bom</artifactId>
+                <version>${okio.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
             <dependency>
                 <groupId>io.grpc</groupId>
                 <artifactId>grpc-bom</artifactId>
@@ -663,6 +675,22 @@ under the License.
                 <artifactId>ivy</artifactId>
                 <version>${ivy.version}</version>
             </dependency>
+            <!-- Hive's provided dependencies also need the Ant and Groovy 
security fixes. -->
+            <dependency>
+                <groupId>org.apache.ant</groupId>
+                <artifactId>ant</artifactId>
+                <version>${ant.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.ant</groupId>
+                <artifactId>ant-launcher</artifactId>
+                <version>${ant.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.groovy</groupId>
+                <artifactId>groovy-all</artifactId>
+                <version>${groovy-all.version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.eclipse.jetty.websocket</groupId>
                 <artifactId>websocket-client</artifactId>
@@ -1681,6 +1709,13 @@ under the License.
                 <groupId>org.apache.avro</groupId>
                 <artifactId>avro-mapred</artifactId>
                 <version>${avro.version}</version>
+                <exclusions>
+                    <!-- File readers do not start Avro's Jetty RPC server. -->
+                    <exclusion>
+                        <groupId>org.apache.avro</groupId>
+                        <artifactId>avro-ipc-jetty</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <!-- 
https://mvnrepository.com/artifact/org.apache.hudi/hudi-common -->
             <dependency>
@@ -1785,6 +1820,11 @@ under the License.
                 <artifactId>parquet-hadoop</artifactId>
                 <version>${parquet.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.apache.parquet</groupId>
+                <artifactId>parquet-hadoop-bundle</artifactId>
+                <version>${parquet.version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.apache.parquet</groupId>
                 <artifactId>parquet-common</artifactId>
@@ -1869,6 +1909,11 @@ under the License.
                 <artifactId>hadoop-mapreduce-client-core</artifactId>
                 <version>${hadoop.version}</version>
                 <exclusions>
+                    <!-- File readers do not submit YARN jobs; this client 
brings EOL Jetty 9 WebSockets. -->
+                    <exclusion>
+                        <groupId>org.apache.hadoop</groupId>
+                        <artifactId>hadoop-yarn-client</artifactId>
+                    </exclusion>
                     <exclusion>
                         <groupId>javax.servlet</groupId>
                         <artifactId>servlet-api</artifactId>
@@ -2130,6 +2175,12 @@ under the License.
                     </exclusion>
                 </exclusions>
             </dependency>
+            <!-- hadoop-cos uses classes inside this shaded bundle; keep both 
COS SDK artifacts aligned. -->
+            <dependency>
+                <groupId>com.qcloud</groupId>
+                <artifactId>cos_api-bundle</artifactId>
+                <version>${cos-api.version}</version>
+            </dependency>
             <dependency>
                 <groupId>com.qcloud</groupId>
                 <artifactId>qcloud-java-sdk</artifactId>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to