Fix Get-ModifiablePath returning early and missing other modifiable paths in the same entry #63
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.
Hi!
I have observed what I think is a defect in
Get-ModifiablePath
. This PR aims to fix this issue.Issue
Get-ModifiablePath
returns early when finding a modifiable path within an entry, and will miss other modifiable paths in the same entry (for instance, the directory containing a binary).Test setup is as follows:
Invoke-ServiceImagePermissionCheck
:--> Modifiable path
C:\dir\
is missing.Cause
The code of
Get-ModifiablePath
breaks out of the loop when a first modifiable path is found, preventing it from finding any other issue:PrivescCheck/src/check/Helpers.ps1
Line 548 in eb8a0de
Note: This has been the case since commit 3a6afaa, which completely refactored this function. If this was intentional, feel free to reject this PR :)
Fix
Simple remove the
break
clause. After this, the modifiable directory will appear in the output:Cheers, and thanks for this great tool, which I've been using for many years now!