Fix UAF of PS1

This commit is contained in:
wsxarcher committed 2026-06-28 17:18:05 +02:00
1 parent 78832cc0d0
commit bbd8212ced
1 file changed
+3 -1
+3 -1
View File
@@ -97,7 +97,9 @@ int main(int argc, char** argv, char** const envp) {
Envp.emplace_back(envp[i]);
}
}
Envp.emplace_back(EnchantedPS1(PS1Env).c_str());
// Keep the string alive until after execve.
const std::string PS1 = EnchantedPS1(PS1Env);
Envp.emplace_back(PS1.c_str());
Envp.emplace_back(nullptr);
return execve(Argv[0], const_cast<char* const*>(Argv.data()), const_cast<char* const*>(&Envp[0]));