[ 
https://issues.apache.org/jira/browse/AMBARI-26653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jialiang Cai updated AMBARI-26653:
----------------------------------
    Description: 
h2. Objective

Remediate the remaining applicable dependency findings in one PR, 
https://github.com/apache/ambari/pull/4208, using independently implemented, 
reviewable topic commits under AMBARI-26653. Dependabot proposals are evidence 
of affected dependencies, not implementation patches to copy.

h2. Initial Remediation

The first five commits upgrade Commons BeanUtils, remove unused Jettison, align 
Commons Compress and Commons IO, upgrade agent Commons Configuration, and align 
Jackson 2.18.9. The focused combined Java lifecycle passed 66 tests and the 
first PR revision passed Jenkins.

h2. Expanded Scope

# Modern frontend: patch Nanoid, Browserslist, HumanFS, Immutable and affected 
brace-expansion copies; coordinate Files View Vitest/Vite/esbuild with 
compatible React tooling. Regenerate native lockfiles and validate 
installation, builds and tests. Covers #4190, #4191, #4192, #4193, #4194, 
#4199, #4185 and relevant #4162 copies.
# Legacy frontend: independently resolve Express, tar, js-yaml and 
brace-expansion in the actual classic build. Audit obsolete duplicate root 
dependency graphs and unused packages before removing or updating them. Covers 
#3594, #4109, #4157, #4162.
# Python build tooling: use patched setuptools and regenerate hashed build 
locks. Separate its Python 3.10+ build prerequisite from Ambari's retained 
Python 3.9.2+ runtime support, including source installation and packaged 
artifacts. Covers #4200.
# Database runtime and test drivers: migrate H2 to a supported patched 2.x 
release with SQL/ORM compatibility, upgrade c3p0 with connection and recovery 
tests, and use stable compatible MariaDB and SQL Server drivers. Covers #3717, 
#4156, #4183, #4083.
# Spring example views: replace isolated legacy Spring pins with a coherent 
patched Spring 6.2 family, Jakarta Servlet APIs/descriptors, and 
context/dispatch/data-migration tests. Covers #3609, #3610, #4020, #4022, 
#4159, #4160, #4161.
# Jetty: migrate to a patched Jetty 12.0 EE10 family with Servlet 6, 
coordinating artifact names, HTTP/HTTPS handlers, view/session behavior and 
WebSocket lifecycle. Covers #4155.
# Kerberos: replace mutually incompatible retired ApacheDS Kerberos 
client/codec APIs with maintained Apache Kerby, align Directory LDAP API, and 
preserve KDC probing, key derivation, keytab format/merge/permissions and 
authentication behavior. Covers #4196, #4197.

h2. Acceptance And Review

Use one PR with coherent topic commits and focused tests in the same commit. 
Remain on JDK 17 and preserve Ambari runtime behavior. Verify real resolved 
dependency graphs, supported API compatibility, failure/recovery paths and 
packaged outputs. Each new topic requires its own exact validation evidence, 
followed by integrated validation. Record existing test failures and platform 
limitations explicitly. No final success for the expanded scope is claimed 
while integration is in progress.

Dependency versions alone do not prove an exploitable Ambari endpoint. Broader 
unrelated audit findings remain separately documented; this change covers the 
enumerated open proposals and dependencies required for their safe remediation.

  was:
h2. Problem

Trunk commit 474f6711c18663c29c0fc674053d21e7adcc2295 still contains vulnerable 
Java dependency versions targeted by open Dependabot PRs. This new issue tracks 
one bounded remediation PR with five independently reviewable commits.

h2. Changes

# Upgrade centrally managed Commons BeanUtils 1.9.4 to 1.11.0 for 
CVE-2025-48734, verifying enum declaringClass suppression and normal property 
copying (PR #4021).
# Remove unused Jettison 1.1 dependency management and the direct server 
dependency, preserving protective exclusions and removing obsolete test 
exception declarations (PR #3667). Runtime dependency checks must confirm its 
absence.
# Centrally align server and agent Commons Compress at 1.28.0. The server's 
1.21 remains affected by CVE-2024-25710 and CVE-2024-26308, while the agent 
already contains the earlier 1.26.0 fix from PR #4001. Remove the agent's old 
Commons IO override so both modules resolve compatible IO 2.21.0.
# Upgrade agent Commons Configuration2 2.10.1 to 2.15.0 and Commons Logging 
1.1.3 to 1.3.6 for compatible runtime dependencies (PR #4136 / CVE-2026-45205). 
Preserve Hadoop utility behavior without introducing optional SnakeYAML.
# Align the Jackson BOM and databind properties at 2.18.9, including core and 
related modules, to address PRs #4152 and #4153. Verify asynchronous parser 
number limits and case-insensitive ignored-property handling.

h2. Validation

JDK 17 and Maven 3.9.11. The combined focused server and agent lifecycle passed 
66 tests with zero failures or skips within the selected Java tests. Python 
tests were explicitly skipped. Tests cover JSON parsing/serialization, 
bootstrap, execution commands, configuration archives, management packs, 
credential-store handling, and ZooKeeper migration. BeanUtils and Jackson 
security regressions fail with the vulnerable versions and pass with the 
patched versions. Final server, agent, and utility runtime dependency trees 
were checked.

The initial server lifecycle including Python tests failed because a Linux 
cryptography native module cannot load on macOS. No full-suite or packaged 
deployment validation is claimed.

h2. Scope And Constraints

Keep all five topics in one PR, with each topic and its tests in a separate 
commit using this new JIRA key. Preserve JDK 17, public REST behavior, and 
existing agent tools. Do not claim an exploitable Ambari endpoint based only on 
dependency versions. The optional YAML path in Configuration2 is not resolved 
in the agent. The server's separate transitive Configuration2 2.1.1, database 
and pool upgrades, Jetty 12, coordinated Spring view migrations, and frontend 
dependency batches remain separate follow-up work.

        Summary: Remediate vulnerable runtime and build dependencies  (was: Fix 
vulnerable Java dependencies and remove unused Jettison)

> Remediate vulnerable runtime and build dependencies
> ---------------------------------------------------
>
>                 Key: AMBARI-26653
>                 URL: https://issues.apache.org/jira/browse/AMBARI-26653
>             Project: Ambari
>          Issue Type: Bug
>            Reporter: Jialiang Cai
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h2. Objective
> Remediate the remaining applicable dependency findings in one PR, 
> https://github.com/apache/ambari/pull/4208, using independently implemented, 
> reviewable topic commits under AMBARI-26653. Dependabot proposals are 
> evidence of affected dependencies, not implementation patches to copy.
> h2. Initial Remediation
> The first five commits upgrade Commons BeanUtils, remove unused Jettison, 
> align Commons Compress and Commons IO, upgrade agent Commons Configuration, 
> and align Jackson 2.18.9. The focused combined Java lifecycle passed 66 tests 
> and the first PR revision passed Jenkins.
> h2. Expanded Scope
> # Modern frontend: patch Nanoid, Browserslist, HumanFS, Immutable and 
> affected brace-expansion copies; coordinate Files View Vitest/Vite/esbuild 
> with compatible React tooling. Regenerate native lockfiles and validate 
> installation, builds and tests. Covers #4190, #4191, #4192, #4193, #4194, 
> #4199, #4185 and relevant #4162 copies.
> # Legacy frontend: independently resolve Express, tar, js-yaml and 
> brace-expansion in the actual classic build. Audit obsolete duplicate root 
> dependency graphs and unused packages before removing or updating them. 
> Covers #3594, #4109, #4157, #4162.
> # Python build tooling: use patched setuptools and regenerate hashed build 
> locks. Separate its Python 3.10+ build prerequisite from Ambari's retained 
> Python 3.9.2+ runtime support, including source installation and packaged 
> artifacts. Covers #4200.
> # Database runtime and test drivers: migrate H2 to a supported patched 2.x 
> release with SQL/ORM compatibility, upgrade c3p0 with connection and recovery 
> tests, and use stable compatible MariaDB and SQL Server drivers. Covers 
> #3717, #4156, #4183, #4083.
> # Spring example views: replace isolated legacy Spring pins with a coherent 
> patched Spring 6.2 family, Jakarta Servlet APIs/descriptors, and 
> context/dispatch/data-migration tests. Covers #3609, #3610, #4020, #4022, 
> #4159, #4160, #4161.
> # Jetty: migrate to a patched Jetty 12.0 EE10 family with Servlet 6, 
> coordinating artifact names, HTTP/HTTPS handlers, view/session behavior and 
> WebSocket lifecycle. Covers #4155.
> # Kerberos: replace mutually incompatible retired ApacheDS Kerberos 
> client/codec APIs with maintained Apache Kerby, align Directory LDAP API, and 
> preserve KDC probing, key derivation, keytab format/merge/permissions and 
> authentication behavior. Covers #4196, #4197.
> h2. Acceptance And Review
> Use one PR with coherent topic commits and focused tests in the same commit. 
> Remain on JDK 17 and preserve Ambari runtime behavior. Verify real resolved 
> dependency graphs, supported API compatibility, failure/recovery paths and 
> packaged outputs. Each new topic requires its own exact validation evidence, 
> followed by integrated validation. Record existing test failures and platform 
> limitations explicitly. No final success for the expanded scope is claimed 
> while integration is in progress.
> Dependency versions alone do not prove an exploitable Ambari endpoint. 
> Broader unrelated audit findings remain separately documented; this change 
> covers the enumerated open proposals and dependencies required for their safe 
> remediation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to