Hi all,
in processing an update from pac4j 6.4.x to 6.5.x I have noticed that many of the pac4j jars are now shipping formally test code in the production jars.
Given test code is generally not written in anyway to be secure, and has no idea about the environment or reachability that it will be running in this is very concerning to me.
Whilst there are OSGi manifests this is of no help when the downstream system does not use OSGi and as such all test classes are exposed to the application (which could lead to further unexpected exposure and is a small step away from a security issue).
Database itself once the class is loaded starts an in memory h2 DB with well known username/password which is not something that should be done in any production code just because a class can be loaded (which can be for a variety of reasons). granted this is not available over the network but is a small change away from a potential full RCE.
Was this a conscious choice or a mistake?
Regards.
/James