Potential fix for code scanning alert no. 1: Arbitrary file access during archive extraction ("Zip Slip") #15
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/securebeats/skills-secure-repository-supply-chain/security/code-scanning/1
To fix this vulnerability, the code should resolve the full, absolute path of the intended destination file using
Path.GetFullPathafter combining the destination folder and entry name. Then, determine the absolute path of the destination directory (ensuring it ends with a path separator). Finally, check that the destination file's full path starts with the absolute destination directory path (case-sensitive comparison), and throw an exception if not. This ensures that no archive entry can escape the destination directory through directory traversal or similar path manipulation.The changes are restricted to the
WriteToDirectorymethod incode/src/Attendee/Attendee.cs. No new methods need to be written; only additional lines added to apply the appropriate validation before extracting the file.Steps:
Path.GetFullPath.No new external dependencies are required, only standard .NET libraries already imported.
Suggested fixes powered by Copilot Autofix. Review carefully before merging.