Repository navigation
AMBARI-26653: Remediate vulnerable runtime and build dependencies - #4208
Merged
Merged
Conversation
Incorporates AMBARI-26652 commit 0007bc3 from apache#4207.
This was referenced Sep 8, 2026
Closed
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
https://issues.apache.org/jira/browse/AMBARI-26653
Ambari still contains obsolete or affected dependencies, conflicting runtime
versions, and duplicate frontend dependency graphs. This PR implements the
remaining applicable dependency fixes from current source, grouped into
reviewable topic commits with compatibility changes and focused tests.
This PR also incorporates all three changes from #4207 (AMBARI-26652) in
separate commits: disable the empty Views tar assembly, restore agent assembly
metadata without changing archive names, and select the GlassFish JAXB runtime
while excluding the legacy EclipseLink XJC dependency.
1.28.0 and IO 2.21.0, upgrade agent Configuration2 to 2.15.0, and align the
Jackson family at 2.18.9.
Files View. Keep compatible Vite 6.4.3/Vitest 3.2.7 toolchains, patch
Nanoid/Browserslist/HumanFS/Immutable/brace-expansion/js-yaml, and verify
nested dependencies. Preserve the existing Sass line in Admin.
Remove unused direct Express and obsolete duplicate manifests, lockfiles,
and POM. Adapt the actual Brunch development server to Express 4.22.2,
retain remote access, and test routing, malformed requests, and shutdown.
Python 3.10+ build environment while preserving Python 3.9.2+ runtime
support. Update Maven, the installer, the Rocky 8 build image, and Jenkins
to use the correct interpreter; install built wheels through an isolated
runtime environment.
identifier handling. Upgrade c3p0 to 0.14.2 with connection, recovery, and
unsafe-serialization regression tests. Update MariaDB and SQL Server test
drivers to 2.7.15 and stable 13.4.0.jre11, with real MariaDB DDL coverage.
remove unused invalid dependencies, and verify MVC dispatch, data
migration, and deployable WAR/JAR packaging.
sessions, dynamic views, JSP, error handling, and Spring WebSockets.
Preserve canonical view routing, class-loader restoration, failed view
startup recovery, immediate message delivery, and reconnection. Exclude the
unused Hadoop HTTP server stack from agent tools to prevent a Jetty 9/12 mix.
API at 2.1.5. Preserve key derivation, keytab format/merge/permissions and
unsigned KVNO behavior. KDC probes accept actual decoded Kerberos replies;
malformed responses, local failures, and timeouts remain failures.
The Jetty and Kerberos contract/consumer migrations are atomic topic commits:
splitting each dependency switch from its API consumers would leave the
intermediate server compilation broken. Other workflows are separate commits.
The fixes cover the five earlier proposals (#4021, #3667, #4136, #4152,
#4153) and the remaining 26 reviewed proposals: #3594, #3609, #3610, #3717,
#4020, #4022, #4083, #4109, #4155, #4156, #4157, #4159, #4160, #4161, #4162,
#4183, #4185, #4190, #4191, #4192, #4193, #4194, #4196, #4197, #4199, #4200.
Replacement bot PRs can be closed after this PR is merged and verified.
How was this patch tested?
Validation used JDK 17.0.19, Maven 3.9.11, Node 22, and isolated Python build
and runtime environments. The final source reactor includes all dependency
contracts from this branch, without installing conflicting worktree snapshots.
The validation below applies to the dependency-remediation revision through
ad88859fdb. The three changes subsequently incorporated from #4207 were notretested as part of this consolidation.
The final agent HTTP dependency exclusion was separately checked with all 15
credential/ZooKeeper tests and a runtime graph containing no Jetty or legacy
Servlet artifacts.
The final Node 22.23.1 integrated web package build also passed. The classic
Karma run and modern unit runs used Node 22.22.2; final Node 22.23.1 frozen
installation, builds, and real server smoke were checked separately.
Integrated Java command
Additional integrated checks:
env JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.19/libexec/openjdk.jdk/Contents/Home /tmp/apache-maven-3.9.11/bin/mvn -B -ntp -DexampleViews -pl :hello-spring-view,:phone-list-upgrade-view -am -Dassembly.skipAssembly=true -DskipPythonTests=true verify env JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.19/libexec/openjdk.jdk/Contents/Home /tmp/apache-maven-3.9.11/bin/mvn -B -ntp -pl :ambari-web -am -DskipTests -DskipPythonTests=true package /tmp/ambari-26653-validation-venv/bin/python -m unittest discover -s dev-support -p 'test_*.py' git diff 474f6711c18663c29c0fc674053d21e7adcc2295..HEAD --checkMaterial validation limits: SQL Server's live container test is explicitly
skipped on this ARM host because the official image is amd64-only; its driver
contracts and integration test compile. The earlier empty Views API tar
descriptor required
assembly.skipAssemblyduring the recorded runs; #4207'sincorporated fix disables that obsolete execution. The actual example WAR/JAR
were built in those runs. An exploratory full server sweep was interrupted and is not counted as
a passing full suite. Python product tests were skipped in Java-focused runs;
Python packaging/runtime checks were performed separately on Linux.
The existing React/Admin lint failures were reproduced from untouched base
0e30bef972; normalized before/after logs are identical (React: 5,190 errors,387 warnings; Admin: 252 errors, 51 warnings). Selected dependency-family
audits are clear across all three modern apps. Other unrelated audit findings
remain outside this reviewed set, including the server's separate
Hadoop-transitive Configuration2 2.1.1; this PR does not claim a repository-wide
zero-vulnerability result or an exploitable endpoint solely from a version.
Please review Ambari Contributing Guide before opening a pull request.