(Sonar) Fixed finding: "Classes should not be loaded dynamically" #14
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.



Remediation
This change fixes "Classes should not be loaded dynamically" (id = java:S2658) identified by Sonar.
Details
This change fixes Reflection Injection vulnerabilities by limiting what types can be loaded.
Without a protection like this, attackers can cause arbitrary classes to be loaded, methods to be executed, etc., in your application, which could lead to remote code execution, denial of service, or other unwanted behaviors.
Depending on how the reflection APIs are used and what types are available on the classpath, this vulnerability can be quite dangerous, and in fact GitHub itself had a High-severity vulnerability of this type recently .
This change can be improved further by adding more restrictions like this available in the
ReflectionAPI.More reading
I have additional improvements ready for this repo! If you want to see them, leave the comment:
... and I will open a new PR right away!
🧚🤖 Powered by Pixeebot
Feedback | Community | Docs | Codemod ID: sonar:java/unsafe-reflection-s2658