The missing authorization allows any authenticated user to attach any existing private key on a coolify instance to his own server.
If the server configuration of IP / domain, port (most likely 22) and user (root) matches with the victim's server configuration, then the attacker can use the Terminal
feature and execute arbitrary commands on the victim's server.
PoC
App\Livewire\Server\ShowPrivateKey::setPrivateKey($privateKeyId);
The missing authorization allows any authenticated user to attach any existing private key on a coolify instance to his own server.
If the server configuration of IP / domain, port (most likely 22) and user (root) matches with the victim's server configuration, then the attacker can use the
Terminal
feature and execute arbitrary commands on the victim's server.PoC