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 efa3748b9ed [chore](deps) Upgrade vulnerable FE dependencies (#65700)
efa3748b9ed is described below

commit efa3748b9edfd3cd954eaa76308996eb7f04395f
Author: Calvin Kirs <[email protected]>
AuthorDate: Mon Jul 27 20:26:16 2026 +0800

    [chore](deps) Upgrade vulnerable FE dependencies (#65700)
    
    ### What problem does this PR solve?
    
    Issue Number: None
    
    Related PR: None
    
    Problem Summary:
    This PR upgrades FE dependencies that are directly controlled by the
    Maven POMs and were reported with CVEs by dependency-check on the
    `rich/master` baseline.
    
    Upgraded because dependency-check reported CVEs:
    - `commons-configuration2` `2.11.0` -> `2.15.1` (CVE-2026-45205, MEDIUM)
    - `postgresql` `42.7.3` -> `42.7.13` (CVE-2026-42198, HIGH)
    
    Required companion upgrade (not a CVE fix):
    - `commons-text` `1.10.0` -> `1.15.0`
    
    `commons-configuration2:2.15.1` is compiled against
    `commons-text:1.15.0` and its
      `org.apache.commons.configuration2.interpol.StringLookupAdapter` calls
    `StringLookup.apply(String)`. That method only exists once
    `StringLookup` extends
    `UnaryOperator` (1.15.0); `commons-text:1.10.0` declares
    `lookup(String)` only.
    Leaving Text pinned at 1.10.0 would therefore make any interpolation
    path that goes
    through `StringLookupAdapter` (e.g. Hadoop `MetricsConfig` resolving
    `${sys:user.home}`)
    fail with `NoSuchMethodError` at runtime. 1.15.0 still contains the
    Text4Shell
    (CVE-2022-42889) fix that 1.10.0 was originally pinned for, so this is
    not a CVE regression.
    
    Notable upstream behavior change (documented, no Doris code change):
    - `commons-configuration2:2.15.1` adds a URL-scheme allow-list to
    file/URL location loading.
    `AbstractFileLocationStrategy` now defaults `DEFAULT_SCHEMES` to
    `file,jar` and rejects any
    other scheme with `ConfigurationDeniedException` (complete overridable
    set: `file,http,https,jar`).
    This is an upstream security hardening (mitigates loading configuration
    from arbitrary remote
    URLs). A configuration that pulls a remote include over `http`/`https`
    -- e.g. a Hadoop
    `hadoop-metrics2*.properties` with `include = https://...` -- will now
    fail to load by default.
    Doris does not ship such a configuration, so there is no expected
    impact; a deployment that
    genuinely relied on remote includes can restore the old behavior with
    the system property
    
    
`-Dorg.apache.commons.configuration2.io.FileLocationStrategy.schemes=file,http,https,jar`.
    We deliberately do not re-open `http`/`https` by default, as that would
    undo the upstream fix.
    
    Deliberately NOT changed:
    - `dev.cel` stays at `0.12.0`. An earlier revision of this PR bumped it
    to `0.13.1`, but
    dependency-check reports **zero** vulnerabilities for `cel-0.12.0.jar`
    (no suppressions), and
    there is no published CVE/GHSA for `dev.cel` / `cel-java`. The bump
    carried real risk for no
    security benefit: `0.13.1` ships a new `dev.cel.runtime.planner`
    evaluation engine and can
    broaden the accepted CEL dialect, which matters because `RoleMappingMgr`
    validates a mapping
    only on the creating FE and journals the source expression, while replay
    stores it without
    compiling and `DefinitionBackedRoleMappingEvaluator` recompiles it
    lazily at authentication
    time. During a mixed-version rollout that could turn into an
    authentication failure on a
    not-yet-upgraded FE. Reverting the bump removes that exposure entirely.
    - Azure SDK components are left at the versions managed by
    `azure-sdk-bom` `1.3.7`. An earlier
    revision overrode `azure-core`/`azure-core-http-netty`/`azure-identity`
    to newer patch levels,
    but BOM `1.3.7` already manages `azure-core 1.58.0`, `azure-identity
    1.18.3` and
    `azure-security-keyvault-keys 4.10.7` -- all at or above their fixed
    versions -- and no FE
    module declares `azure-security-keyvault-keys` (the artifact
    CVE-2026-33117 affects). The
    overrides therefore remediated no shipped vulnerable coordinate and only
    added BOM skew, so
      they were dropped.
    
    The refreshed dependency-check JSON no longer contains the old direct
    vulnerable coordinates
    `[email protected]` or `[email protected]`. Some remaining
    findings are still
    reported for shaded/bundled dependencies or CPE matches that are not
    safely removable through
    a small POM-only change.
    
    ### Release note
    
    None
    
    ### Check List (For Author)
    
    - Test:
    - `env DORIS_THIRDPARTY=/mnt/disk1/gq/idea/thirdparty mvn -pl fe-core
    -am install -DskipTests -Dskip.doc=true
    -Dmaven.build.cache.enabled=false`
    - `mvn org.owasp:dependency-check-maven:12.2.0:aggregate -Dformat=ALL
    -DfailBuildOnCVSS=11 -DfailOnError=false -DnvdApiServerId=nvd-api-key
    -DnvdValidForHours=2160 -Dmaven.build.cache.enabled=false
    -DyarnAuditAnalyzerEnabled=false -DretireJsAnalyzerEnabled=false
    -DassemblyAnalyzerEnabled=false -DnugetconfAnalyzerEnabled=false
    -DnuspecAnalyzerEnabled=false -DskipTests`
    - Behavior changed: Only an upstream commons-configuration2 URL-scheme
    allow-list (documented above); no Doris-side behavior change and no
    default configuration ships a remote include.
    - Does this need documentation: No
---
 fe/fe-core/pom.xml | 2 +-
 fe/pom.xml         | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/fe/fe-core/pom.xml b/fe/fe-core/pom.xml
index 431a9459e36..a942e027fc1 100644
--- a/fe/fe-core/pom.xml
+++ b/fe/fe-core/pom.xml
@@ -631,7 +631,7 @@ under the License.
         <dependency>
             <groupId>org.postgresql</groupId>
             <artifactId>postgresql</artifactId>
-            <version>42.7.3</version>
+            <version>${postgresql.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/fe/pom.xml b/fe/pom.xml
index fb9b8088f69..5c0c92e89b4 100644
--- a/fe/pom.xml
+++ b/fe/pom.xml
@@ -264,13 +264,13 @@ under the License.
         <cglib.version>2.2</cglib.version>
         <commons-cli.version>1.4</commons-cli.version>
         <commons-filerupload.version>1.6.0</commons-filerupload.version>
-        <commons-configuration2.version>2.11.0</commons-configuration2.version>
+        <commons-configuration2.version>2.15.1</commons-configuration2.version>
         <commons-codec.version>1.13</commons-codec.version>
         <commons-lang3.version>3.19.0</commons-lang3.version>
         <commons-net.version>3.13.0</commons-net.version>
         <commons-pool2.version>2.2</commons-pool2.version>
         <commons-pool.version>1.5.1</commons-pool.version>
-        <commons-text.version>1.10.0</commons-text.version>
+        <commons-text.version>1.15.0</commons-text.version>
         <commons-math3.version>3.6.1</commons-math3.version>
         <commons-validator.version>1.9.0</commons-validator.version>
         <gson.version>2.10.1</gson.version>
@@ -361,6 +361,7 @@ under the License.
         <httpcore.version>4.4.15</httpcore.version>
         <aws-java-sdk.version>1.12.669</aws-java-sdk.version>
         <mariadb-java-client.version>3.0.9</mariadb-java-client.version>
+        <postgresql.version>42.7.13</postgresql.version>
         <hadoop.version>3.4.2</hadoop.version>
         <re2j.version>1.8</re2j.version>
         
<hadoop.thirdparty.guava.version>1.2.0</hadoop.thirdparty.guava.version>


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

Reply via email to