-
Notifications
You must be signed in to change notification settings - Fork 479
fix: Add FIPS mode detection and auto-disable APR SSL Engine #34212
Copy link
Copy link
Closed
Labels
EnhancementOKR : Security & PrivacyOwned by MehdiOwned by MehdiQA : PassedRelease : 24.12.27 v18Included in LTS patch release 24.12.27 v18Included in LTS patch release 24.12.27 v18Release : 25.07.10 v9Included in LTS patch release 25.07.10 v9Included in LTS patch release 25.07.10 v9Release : 26.03.27-01Sprint: InjectedTeam : MaintenanceTeam : SecurityIssues related to security and privacyIssues related to security and privacyUPLItem sourced from the Unified Priority ListItem sourced from the Unified Priority List
Metadata
Metadata
Assignees
Labels
EnhancementOKR : Security & PrivacyOwned by MehdiOwned by MehdiQA : PassedRelease : 24.12.27 v18Included in LTS patch release 24.12.27 v18Included in LTS patch release 24.12.27 v18Release : 25.07.10 v9Included in LTS patch release 25.07.10 v9Included in LTS patch release 25.07.10 v9Release : 26.03.27-01Sprint: InjectedTeam : MaintenanceTeam : SecurityIssues related to security and privacyIssues related to security and privacyUPLItem sourced from the Unified Priority ListItem sourced from the Unified Priority List
Type
Projects
Status
Done
Problem
The Tomcat Native APR library (libtcnative-1) version 1.2.35 is incompatible with OpenSSL 3.x when running in FIPS mode, causing JVM segmentation faults during startup on modern systems (Ubuntu 24.04+, RHEL 9+).
PR #34068 attempted to fix this by removing the native library entirely, but the reviewer (@wezell) requested that we maintain the native library by default for performance benefits and instead add FIPS detection or a configuration flag.
Solution
This fix implements the reviewer's recommendation:
/proc/sys/crypto/fips_enabledat container startupCMS_DISABLE_APR_SSLandCMS_SSL_ENGINEfor manual controlImplementation Details
New Files
dotCMS/src/main/docker/original/ROOT/srv/15-detect-fips-and-set-ssl-engine.sh- FIPS detection script that runs at container startupFIPS_APR_SSL_FIX.md- Comprehensive documentation with configuration options and troubleshootingModified Files
dotCMS/src/main/docker/original/ROOT/srv/entrypoint.sh- Sources the FIPS detection scriptdotCMS/src/main/resources/container/tomcat9/conf/server.xml- Added documentation about FIPS auto-detectionConfiguration Options
Users have three ways to control APR SSL behavior:
Testing Plan
CMS_DISABLE_APR_SSL=true(APR SSL should be disabled)CMS_SSL_ENGINE=off(APR SSL should be disabled)Impact
Related Issues
🤖 Generated with Claude Code