T06 · System Persistence
Error
- Location
- SKILL.md:263
- Finding
- Privileged Radicale Service Persistence<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:263-268` **Vulnerability Type**: T06: System Persistence **Risk Level**: High ### Vulnerable Code ```bash ### Running as Service (systemd) # Enable and start sudo systemctl enable radicale sudo systemctl start radicale ``` ### Technical Analysis The documented `systemctl enable radicale` command modifies system-wide startup configuration so that Radicale starts automatically after subsequent reboots. The command requires elevated privileges and creates state that persists beyond the current Skill invocation. Running a Radicale server is related to the declared server-administration functionality. However, persistent automatic startup is not required for calendar, event, or todo management, nor is it required to run Radicale temporarily. The instruction therefore exceeds the minimum privileges and persistence necessary for most declared operations. The adjacent `systemctl start` command also launches a network-facing service with root-mediated service management. Actual exposure depends on Radicale's bind address, authentication, rights, and TLS configuration. ### Attack Path 1. A user or Agent follows the server setup instructions. 2. The user grants `sudo` authorization to execute `systemctl enable radicale`. 3. Systemd registers Radicale for automatic startup. 4. Radicale continues to start after reboots, independently of the Skill session. 5. If Radicale is configured with weak authentication, insecure rights, plaintext transport, or a public bind address, a remote party may access or attack the persistent service. ### Impact Assessment The command obtains system-level service-management privileges and changes persistent host configuration. It does not itself install a backdoor or demonstrate unauthorized code execution, but it expands the duration and availability of the Radicale attack surface. Potentially affected assets include all calendar and contact data available to the config ...[truncated 116 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Do not recommend `systemctl enable` as part of the default workflow. - Prefer running Radicale as an unprivileged foreground process for temporary or development use. - Require explicit, informed user approval before making a service persistent. - Clearly explain that enabling the service changes system-wide startup behavior and survives reboots. - Separate ordinary CalDAV client operations from privileged server-administration instructions. - If persistent deployment is requested, harden the systemd unit with a dedicated unprivileged account and options such as `NoNewPrivileges=yes`, `ProtectSystem=strict`, `PrivateTmp=yes`, and narrowly scoped writable paths. - Require authentication, restrictive rights, and TLS before exposing the service outside loopback. - Document rollback commands: ```bash sudo systemctl disable --now radicale ``` ]]>
