Summary
When mise is installed by the root user, using install.sh provided by mise,
the uid and gid of the installed mise executable, is uid=1001 and gid=1001
Details
- all
.tar.* files in the mise releases, embedded the files with the owner of uid=1001 and uid=1001, instead of uid=0 and gid=0
install.sh of the mise project, does not call tar with --no-same-owner
PoC
- Run the following command by the root user
- Download
install.sh, for example https://github.com/jdx/mise/releases/download/v2026.7.0/install.sh
- Run
./install.sh as root
- Check the ownership of
/root/.local/bin/mise, such as using the command stat /root/.local/bin/mise
Impact
This causes root installed mise,
is vulnerable to be modified by a uid=1001 user,
causing a Local Privilege Escalation issue.
This only affects mise installation using install.sh.
This issue has more impact, when
using install.sh with the environment variable MISE_INSTALL_PATH,
to install to a system shared location, such as /usr/local/bin
Summary
When
miseis installed by the root user, usinginstall.shprovided bymise,the
uidandgidof the installedmiseexecutable, is uid=1001 and gid=1001Details
.tar.*files in the mise releases, embedded the files with the owner of uid=1001 and uid=1001, instead of uid=0 and gid=0install.shof the mise project, does not calltarwith--no-same-ownerPoC
install.sh, for example https://github.com/jdx/mise/releases/download/v2026.7.0/install.sh./install.shas root/root/.local/bin/mise, such as using the commandstat /root/.local/bin/miseImpact
This causes root installed mise,
is vulnerable to be modified by a uid=1001 user,
causing a Local Privilege Escalation issue.
This only affects
miseinstallation usinginstall.sh.This issue has more impact, when
using
install.shwith the environment variableMISE_INSTALL_PATH,to install to a system shared location, such as
/usr/local/bin