Potential fix for code scanning alert no. 114: Uncontrolled data used in path expression #549
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.



Potential fix for https://github.com/fugerit-org/fj-doc/security/code-scanning/114
To fix this, we need to ensure that every time user input is used to construct a file or folder path, it is validated to prevent traversals and keep the output within authorized boundaries. The most robust approach is to check that the resolved/normalized path is strictly within a designated base directory (e.g., the created project temp folder).
Specifically:
FeatureFacade.copyFlavourListand the downstream methods (copyResourcesList,copyFile,insureParent), ensure that thebaseFolderand all resulting file operations are within an authorized area.FeatureFacade.copyFile, before creating any directories or files, resolve the file (output location) and check that it still resides in (is a descendant of)baseFolder(orprojectFolder), after normalization.Implementation:
checkIfInBaseFolder(File baseFolder, File file)).Path#normalizeandPath#toAbsolutePath, and check thatfileis a descendant ofbaseFolder.copyFileand/orinsureParent(or both, for clarity), before actual creation or writing.Affected file and methods:
fj-doc-maven-plugin/src/main/java/org/fugerit/java/doc/project/facade/FeatureFacade.java: add helper method, call validation incopyFileandinsureParent.Suggested fixes powered by Copilot Autofix. Review carefully before merging.