T05 · Unauthorized Access and Privilege Escalation
- Location
README.md:34- Finding
Installation Documentation Unnecessarily Requires Root Privileges
- Content
View full analysis
Vulnerability Details
File Location:
README.md:34-39
Vulnerability Type: Least-privilege violation during installation
Risk Level: MediumComplete Code Snippet:
bash # Copy to OpenClaw skills directory sudo cp todoist.skill /usr/lib/node_modules/openclaw/skills/ # Or unzip manually sudo unzip todoist.skill -d /usr/lib/node_modules/openclaw/skills/Technical Analysis
The documented installation process instructs users to copy or extract an externally downloaded
.skillarchive with root privileges into a global OpenClaw directory. This exceeds the minimum privileges needed for the Skill becauseskill.jsonseparately documents a supported user-level destination under~/.openclaw/skills/todoist/.The
sudo unzipvariant is particularly risky because every archive entry is processed by a root-privileged extraction operation. If a release archive is compromised, substituted, or malformed, its contents could be written into a globally trusted Skill location with elevated privileges. The audited repository does not contain evidence of such a malicious payload; the vulnerability is the unnecessary privileged installation workflow and its increased consequences.Attack Path
- An attacker compromises, replaces, or distributes a modified
.skillrelease archive. - A user downloads that archive and follows the README installation instructions.
- The user executes
sudo cporsudo unzip, granting the installation operation root privileges. - Attacker-controlled files are placed in a root-owned, globally trusted OpenClaw Skill directory.
- The user restarts OpenClaw as instructed.
- OpenClaw may load the substituted Skill content, allowing its behavior to affect all users or processes relying on that global installation.
Impact Assessment
Successful exploitation could install attacker-controlled Skill files into a global, root-owned OpenClaw directory. The resulting ...[truncated 362 chars]
- An attacker compromises, replaces, or distributes a modified
- Remediation
View remediation
Remediation Suggestions
-
Replace the privileged installation instructions with the supported user-scoped installation path:
bash mkdir -p ~/.openclaw/skills/todoist unzip todoist.skill -d ~/.openclaw/skills/todoist -
Make user-level installation the default and remove
sudofrom the recommended workflow. -
If global installation is genuinely required, extract the archive as an unprivileged user into a temporary directory first, inspect its file list, reject absolute paths and traversal entries, and then copy only validated files using narrowly scoped elevation.
-
Publish cryptographic checksums or signed release artifacts and instruct users to verify them before installation.
-
Pin installation instructions to a specific release version rather than an unqualified “latest” artifact.
-
Reconcile
README.mdwithskill.jsonso both consistently recommend~/.openclaw/skills/todoist/.
-
