Tach,
my $vh_name_actdeactdest = $cgi->param('vh_name_actdeactdest');
[…]
my $ensite = qx (/usr/sbin/a2ensite $vh_name_actdeactdest);
ich würde mal davon ausgehen, dass man durch das fehlende Escaping, hier belibigen Code als root ausführen kann, indem man z.B. vh\_name\_actdeactdest als „test;ls -la /root“ übergibt. Hier sollte $vh\_name\_actdeactdest in einfache Anführungszeichen gepackt werden qx (/usr/sbin/a2ensite '$vh\_name\_actdeactdest') und ebenso müssen alle weiteren Aufrufe von qx behandelt werden.
mfg
Woodfighter