You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For security reasons we have a proxy node where all deployment must go through. This reduces the attack surface, so even if our build servers get owned, the attacker still won't be able to access production servers, data or keys.
Part of this safety guarantees relies on the fact that the build server has limited access on the deployer server (which does have access to production servers). This limited access is based on a custom shell and a custom deploy script.
As it is right now, it's lacking proper command checks to make sure someone can't bypass the shell or deploy script. An attacker could use "deploy ; " to run any command on the deployer host. The saner approach here is to allow only azAZ09 characters, ensuring it won't be able to bypass the shell and run multiple commands on the remote host.
The text was updated successfully, but these errors were encountered:
To further extend on this: any variable which the user can set and is blindly executed by the script is able to bypass the secure shell. As an example, take the command below:
A well-crafted $DEPLOY_BRANCH value could escape this command and run a different one. As such, the regex verifications above must apply to these variables too. The most dangerous character here is ";", which could be used to dynamically finish the current command and run a different one.
For security reasons we have a proxy node where all deployment must go through. This reduces the attack surface, so even if our build servers get owned, the attacker still won't be able to access production servers, data or keys.
Part of this safety guarantees relies on the fact that the build server has limited access on the deployer server (which does have access to production servers). This limited access is based on a custom shell and a custom deploy script.
As it is right now, it's lacking proper command checks to make sure someone can't bypass the shell or deploy script. An attacker could use "deploy ; " to run any command on the deployer host. The saner approach here is to allow only azAZ09 characters, ensuring it won't be able to bypass the shell and run multiple commands on the remote host.
The text was updated successfully, but these errors were encountered: