Skip to content

security: investigate commons-beanutils CVE exposure and mitigation strategy #2202

@github-actions

Description

@github-actions

Context

As part of PR #2192 (upgrading commons-digester to commons-digester3), we excluded the transitive commons-beanutils dependency and added an explicit dependency on commons-beanutils 1.11.0 to mitigate known security vulnerabilities.

Current State

  • Current version: commons-beanutils 1.11.0
  • Location: pom.xml:302
  • Reason: Transitive dependency from commons-digester3, explicitly managed to avoid vulnerabilities

Known CVEs

Several CVEs have been identified that may affect commons-beanutils:

  1. CVE-2014-0114 - ClassLoader manipulation vulnerability

    • Affects commons-beanutils through 1.9.2 (and Struts 1.x)
    • Status: ✅ Likely mitigated by using 1.11.0
  2. CVE-2019-10086 - Class property access not suppressed by default

    • Affects commons-beanutils in certain configurations
    • Status: ⚠️ Needs investigation for 1.11.0
  3. CVE-2025-48734 - Enum declaredClass property leading to classloader access

    • Requires commons-beanutils >= 1.11.0 to fix
    • Status: ⚠️ Critical - We're using 1.11.0, need to confirm if this is the minimum fixed version or if we need 1.11.1+

Investigation Tasks

  • Verify which CVEs affect commons-beanutils 1.11.0 specifically
  • Check if CVE-2025-48734 is fixed in 1.11.0 or requires 1.11.1+
  • Research why 1.11.1 caused Maven warnings ("POM is missing" error)
  • Determine if 1.11.1 exists on Maven Central or if it's a phantom version
  • Evaluate alternative mitigation strategies if upgrade is not possible:
    • Runtime security policies
    • Class access restrictions
    • Sandboxing approaches
  • Consider long-term strategy to remove commons-beanutils dependency entirely
  • Document findings and recommended action

Additional Context

Related

Priority

High - Security vulnerabilities in dependencies should be addressed promptly, especially for healthcare PHI-handling systems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions