Skip to content
This repository has been archived by the owner on Sep 21, 2021. It is now read-only.

Fix sploitMixin bug that doesn’t properly close service handles. #137

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Hallowizer
Copy link

@Hallowizer Hallowizer commented Mar 1, 2021

Currently, the for loop that closes service handles initializes a variable “shi” for the service handler index, and increments that variable. However, the actual check for finishing the loop is done using the older “si” variable that is set to the highest service handle.

This results in the service handles never being freed, as the condition is always false, unless the user added handles themself, in which case that for loop never exits, and the switch probably crashes eventually because an invalid handle gets freed.

NOTE: I do not have a Switch that is vulnerable to PegaSwitch or fusee-gelee, so I am unable to test this. Please test this code before merging it.

@Hallowizer
Copy link
Author

Found another bug;

this.inputObjectId.push(utils.trunc32(id));
this should be pushing to inputObjectIds, not inputObjectId.

@SciresM
Copy link
Contributor

SciresM commented Mar 23, 2021

Gonna be honest: nobody maintains or even uses pegaswitch any more.

The effort is certainly appreciated, but you should probably know that the odds of anyone actually testing any of this stuff to merge it are approximately zero.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants