Published on 2025-06-19
Velociraptor allows collection of VQL queries packaged into Artifacts from endpoints. These artifacts can be used to do anything and usually run with elevated permissions. To limit access to some dangerous artifact, Velociraptor allows for those to require high permissions like EXECVE to launch.
The Admin.Client.UpdateClientConfig is an artifact used to update the client's configuration. This artifact did not enforce an additional required permission, allowing users with COLLECT_CLIENT permissions (normally given by the "Investigator" role) to collect it from endpoints and update the configuration.
This can lead to arbitrary command execution and endpoint takeover.
To successfully exploit this vulnerability the user must already have access to collect artifacts from the endpoint (i.e. have the COLLECT_CLIENT given typically by the "Investigator' role).
Users who rely on artifacts to prevent dangerous actions from already privileged users.
CWE-276 Incorrect Default Permissions
CWE-276
CAPEC-30 Hijacking a Privileged Thread of Execution
CAPEC-30
Product | Affected |
---|---|
Rapid7 Velociraptor
on
Windows, MacOS, Linux source repo Default status is unaffected | before 0.74.3 |
To better restrict the types of artifacts users can run, the `basic artifacts` mechanism should be used as described
https://docs.velociraptor.app/docs/artifacts/security/#basic-artifacts
To detect unintended privilege escalations in custom artifacts, users should run the artifact verifier as described here
https://docs.velociraptor.app/docs/artifacts/security/#restricting-dangerous-client-artifacts
We thank Christian Fünfhaus from Deutsche Bahn CSIRT for identifying and reporting this issue