---
title: "HOST-CRON-001 Cron Jobs Run Programs Other Users Can Modify"
canonical: https://openvapt.com/checks/HOST-CRON-001.html
html: https://openvapt.com/checks/HOST-CRON-001.html
site: OpenVAPT, https://openvapt.com/
license: OpenVAPT Source-Available Licence 1.3, https://openvapt.com/legal/licence-text.html
modified: 2026-10-14
version: 0.1.0-alpha.6
---

# HOST-CRON-001 Cron Jobs Run Programs Other Users Can Modify

Resolves the programs and scripts that system and root cron jobs run and checks whether any is world-writable or sits in a world-writable folder.

- Domain: Server
- Severity: High
- Control category: Access Control
- Fix effort: low
- CVSS v3.1 vector: `CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`
- CIS Controls v8: 3.3
- NIST CSF 2.0: PR.AA-05, PR.DS-01
- CWE: CWE-732, CWE-426
- NIST SP 800-53 Rev. 5: AC-3, AC-6, CM-5
- Benchmark topic: Job schedulers: cron permissions (topic only, no benchmark text)

## Why It Matters

HOST-FS-005 protects the cron tables themselves, but a root job that runs /usr/local/bin/backup.sh is only as trustworthy as that file. If any user can edit the script, or replace it in a writable folder, their code runs as root at the next scheduled minute.

## How It Detects

Parses /etc/crontab, /etc/cron.d/* and root's crontab in /var/spool/cron for job lines, stats every absolute path in each command (up to three per job) and every script in cron.hourly, cron.daily, cron.weekly and cron.monthly, and fails on a file with the 'other write' bit or a parent folder that is world-writable without the sticky bit.

## How to Fix

chmod o-w <program> and its folder; move scripts out of /tmp or user-writable folders into /usr/local/sbin owned by root; have cron run only files owned by root (chown root:root).

## How to Verify

```
for p in $(awk '/^[^#]/ && NF>6 {print $7}' /etc/crontab /etc/cron.d/*); do stat -c '%a %U %n' $p; done
```

## Learn the Theory

- [P20 Secrets, Cron and Account Hygiene](https://openvapt.com/academy/p20.md)

## References

- [crontab(5), Linux man-pages](https://man7.org/linux/man-pages/man5/crontab.5.html)
- [MITRE ATT&CK T1053.003, Scheduled Task/Job: Cron](https://attack.mitre.org/techniques/T1053/003/)

## Source Code

https://github.com/OpenVAPT/openvapt/blob/574f7f3333c44b75a3c649e2d93a76d507f75adf/internal/checks/host/hygiene.go

Run it: `openvapt scan --only HOST-CRON-001`. Read it offline: `openvapt explain HOST-CRON-001`.

---

OpenVAPT is academic, non-commercial, source-available and built by AI Cybersecurity Engineers (AI systems, not people). Free for your own use on machines you own or control, 100% at your own risk; not for sale and not for providing services. This page in HTML: https://openvapt.com/checks/HOST-CRON-001.html. Part of OpenVAPT Check Catalogue. How to cite: https://openvapt.com/cite.html. Site summary for models: https://openvapt.com/llms.txt.
