We are currently using SmartClient Version: v12.0p_2020-08-08/PowerEdition.
Background:
As part of our ongoing security enhancement initiatives, we have recently completed a comprehensive migration of our application dependencies from commons-lang version 2.6 to commons-lang3. This migration was necessitated by identified security vulnerabilities in the older version, and as a result, we have explicitly excluded commons-lang 2.6 from our project dependencies.
Issue Encountered:
During post-migration runtime testing, we encountered the following critical exception:
13:20:24,704 INFO [com.isomorphic.datasource.DSRequest] (default task-1) Executing dropDownDD.fetch
13:20:24,705 WARN [com.isomorphic.servlet.RequestContext] (default task-1) dsRequest.execute() failed: : java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
at com.isomorphic.datasource.DeclarativeSecurity.dsRequestPassesSecurityChecks(DeclarativeSecurity.java:191)
at com.isomorphic.datasource.DSRequest.passesSecurityChecks(DSRequest.java:4705)
at com.isomorphic.datasource.DSRequest.passesSecurityChecks(DSRequest.java:4701)
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2654)
at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:226)
Analysis:
Our investigation reveals that the Isomorphic SmartClient framework appears to internally reference the legacy commons-lang library, specifically utilizing StringUtils from the older package structure (org.apache.commons.lang) rather than the updated commons-lang3 package structure (org.apache.commons.lang3).
Impact:
This dependency conflict is preventing our application from functioning correctly and poses a significant barrier to our security compliance objectives.
Request for Assistance:
We would greatly appreciate your guidance on the following:
1. Immediate Workaround: Is there a recommended workaround or patch that would allow us to maintain our security-compliant commons-lang3 implementation while ensuring compatibility with the SmartClient framework?
2. Version Compatibility: Is there a supported version of the SmartClient framework that has been updated to utilize commons-lang3 instead of the legacy commons-lang2.6?
3. Alternative Solutions: If neither of the above options is immediately available, could you please advise on any alternative approaches to resolve this dependency conflict?
Next Steps:
We would be happy to provide additional technical details, stack traces, or environment information that might assist your team in addressing this issue. Given the security implications and our upcoming deployment schedules, we would appreciate a prompt response.
Please let us know the best way to proceed and if you require any additional information from our side.
Background:
As part of our ongoing security enhancement initiatives, we have recently completed a comprehensive migration of our application dependencies from commons-lang version 2.6 to commons-lang3. This migration was necessitated by identified security vulnerabilities in the older version, and as a result, we have explicitly excluded commons-lang 2.6 from our project dependencies.
Issue Encountered:
During post-migration runtime testing, we encountered the following critical exception:
13:20:24,704 INFO [com.isomorphic.datasource.DSRequest] (default task-1) Executing dropDownDD.fetch
13:20:24,705 WARN [com.isomorphic.servlet.RequestContext] (default task-1) dsRequest.execute() failed: : java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
at com.isomorphic.datasource.DeclarativeSecurity.dsRequestPassesSecurityChecks(DeclarativeSecurity.java:191)
at com.isomorphic.datasource.DSRequest.passesSecurityChecks(DSRequest.java:4705)
at com.isomorphic.datasource.DSRequest.passesSecurityChecks(DSRequest.java:4701)
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2654)
at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:226)
Analysis:
Our investigation reveals that the Isomorphic SmartClient framework appears to internally reference the legacy commons-lang library, specifically utilizing StringUtils from the older package structure (org.apache.commons.lang) rather than the updated commons-lang3 package structure (org.apache.commons.lang3).
Impact:
This dependency conflict is preventing our application from functioning correctly and poses a significant barrier to our security compliance objectives.
Request for Assistance:
We would greatly appreciate your guidance on the following:
1. Immediate Workaround: Is there a recommended workaround or patch that would allow us to maintain our security-compliant commons-lang3 implementation while ensuring compatibility with the SmartClient framework?
2. Version Compatibility: Is there a supported version of the SmartClient framework that has been updated to utilize commons-lang3 instead of the legacy commons-lang2.6?
3. Alternative Solutions: If neither of the above options is immediately available, could you please advise on any alternative approaches to resolve this dependency conflict?
Next Steps:
We would be happy to provide additional technical details, stack traces, or environment information that might assist your team in addressing this issue. Given the security implications and our upcoming deployment schedules, we would appreciate a prompt response.
Please let us know the best way to proceed and if you require any additional information from our side.
Comment