A bare-metal SaaS company preparing for its first SOC 2 Type 2 asked us a direct question: its Ubuntu servers install security updates every night through unattended-upgrades, so does each of those updates need its own change ticket? The answer is no. SOC 2 automatic patching fits CC8.1 when the company documents it as a pre-approved standard change, limits its scope, keeps the logs of what was installed, watches for failures and reviews the results on a schedule.
At a glance
- Criterion: CC8.1 change management, including the point of focus Manages Patch Changes.
- The approval: One documented, risk-assessed approval of the automatic patching procedure, recorded in the change management policy as a standard change.
- Scope limits: Security repositories only; kernel, major-version and OS upgrades go through a normal change ticket.
- Evidence per run:
/var/log/unattended-upgrades/,/var/log/apt/history.log,dnf history, or WSUS reports. - What breaks it: Automatic upgrades of everything, auto-approved OS upgrades, and logs rotated away before the auditor asks.
Does SOC 2 CC8.1 Require a Change Ticket for Every Automatic Security Update?
SOC 2 CC8.1 requires changes to be authorized, tested, approved and implemented, and it does not say the approval has to happen one change at a time. The criterion reads: The entity authorizes, designs, develops or acquires, configures, documents, tests, approves, and implements changes to infrastructure, data, software, and procedures to meet its objectives. The point of focus on patching, Manages Patch Changes, asks for a process ... to identify, evaluate, test, approve, and implement patches in a timely manner on infrastructure and software.
Automatic patching can meet both when the approval sits on the procedure. IT service management already has a name for this: a standard change. ServiceNow's documentation defines it as a pre-authorized change that is low risk, relatively common and follows a specified procedure or work instruction. The company assesses and approves the procedure once, and each run inside that procedure needs no new approval.
Key insight
SOC 2 automatic patching passes when the approval covers the procedure and the logs cover each run.
An auditor tests whether nightly security updates fall inside a documented, approved scope, and whether the company can show what each run installed. A ticket per package adds paperwork and no control.
The SOC 2 CC8.1 change management guide covers the full criterion. The SOC 2 patch management guide for on-prem covers tiers, SLAs and maintenance windows for patches that go through a ticket.
Why Automatic Patching and SOC 2 Change Management Pull in Opposite Directions
Automatic patching and SOC 2 change management pull against each other because one removes the human step and the other asks for evidence of a human decision. Security teams want critical fixes on servers within hours. A change process built on tickets and approvals adds days.
Companies usually end up in one of three places:
- Automatic updates on, policy silent. Ubuntu Server applies security updates automatically by default, so many teams have unattended-upgrades running without knowing it. The change management policy says every production change needs a ticket, and the auditor finds changes with no ticket.
- Automatic updates turned off to satisfy the policy. Patches now wait for the monthly change window, and the vulnerability scanner reports findings older than the patch SLA.
- Automatic updates on and documented as a standard change. The policy names the procedure, the scope and the evidence. This is the only one of the three that satisfies both security and the auditor.
How to Write Automatic Patching Into the Change Management Policy as a Standard Change
A standard change entry for automatic patching names the procedure, the systems it covers, what it may install, when it may reboot, who owns it and what evidence it leaves. Add it as a section of the change management policy, or as a standard change catalogue entry the policy points to.
| Policy element | Example wording or setting |
| Change type | Standard change, pre-approved by the change owner on a dated record |
| Systems in scope | Production and staging Linux hosts in the asset inventory, by group |
| What may install | Packages from the distribution security repository only |
| What may not install | Kernel packages, database engines, major-version upgrades, OS release upgrades, packages on the exclusion list |
| Testing | Staging hosts receive updates first; production runs on a later schedule |
| Reboot | Automatic reboots only inside a named window, or none, with reboots scheduled through a normal change |
| Monitoring | Failure alerts to the on-call channel; daily summary report |
| Evidence | Package logs retained for the audit period plus a margin |
| Review | Monthly review of applied updates and failures, signed off by the owner |
| Re-approval | Any change to scope, repositories or exclusions goes through a normal change ticket |
The last row keeps the standard change honest. Widening the repositories or removing an exclusion changes the risk the original approval covered, so the change to the automatic patching configuration is itself a normal change with its own ticket.
How to Configure Unattended-Upgrades, Dnf-Automatic and WSUS to Match the Policy
Each common tool has settings that map directly to the policy table. The configuration file, kept under version control or in configuration management, becomes the evidence that the systems match the documented scope.
Ubuntu and Debian: unattended-upgrades
Ubuntu's unattended-upgrades reads /etc/apt/apt.conf.d/50unattended-upgrades for behaviour and /etc/apt/apt.conf.d/20auto-upgrades for whether and how often it runs. The default allowed origins are the -security pocket and ESM where available; -updates, -proposed and -backports are commented out.
- Scope: keep the allowed origins at
-security. Add packages the policy excludes, such as kernel or database packages, toUnattended-Upgrade::Package-Blacklist. - Reboots:
Unattended-Upgrade::Automatic-Rebootisfalseby default. If the policy allows reboots, setAutomatic-Reboot-Timeto the approved window. - Monitoring: set
Unattended-Upgrade::MailandMailReport(on-change,alwaysoronly-on-error). - Logs: each run writes to
/var/log/unattended-upgrades/unattended-upgrades.log, with package manager output inunattended-upgrades-dpkg.log. APT also records installs and upgrades with versions in/var/log/apt/history.log.
RHEL, Rocky, Alma and Fedora: dnf-automatic
dnf-automatic reads /etc/dnf/automatic.conf and runs from systemd timers such as dnf-automatic-install.timer.
- Scope: set
upgrade_type = securityso only security advisories install.upgrade_type = defaultinstalls all available updates. - Install:
apply_updates = yesinstalls; the notify-only and download timers let staging and production run different modes. - Reboots:
rebootacceptsnever,when-changedorwhen-needed. Useneverunless the timer is set inside the approved window. - Monitoring and logs:
emit_viasends results by email, command or motd.dnf history listanddnf history infoshow each transaction.
Windows Server: WSUS automatic approval rules
WSUS Automatic Approvals approve updates for chosen computer groups by classification and product, with an optional deadline.
- Scope: create rules for the Security Updates and Critical Updates classifications only, approved first for a test group.
- What to keep out: Microsoft warns that the Upgrades classification includes Windows feature updates, and auto-approving it can upgrade devices to a new OS version.
- Evidence: the WSUS Update Status Summary report shows which computers installed which updates.
Baseline settings for these files belong in the hardening standard. The SOC 2 configuration baselines guide for bare metal covers keeping them under drift checks.
What SOC 2 Auditors Sample for Automatic Patching
SOC 2 auditors sample automatic patching the same way they sample any recurring control: they read the design, then pick dates or hosts from the observation period and ask for evidence. Expect requests like these:
- The policy entry for automatic patching as a standard change, with the date and approver.
- The configuration on sampled hosts, showing the repositories, exclusions and reboot settings match the policy.
- Run logs for sampled dates, such as
/var/log/apt/history.logentries ordnf history infooutput, showing what installed on each date. - Failure handling: an alert from a failed run and the ticket or note that resolved it.
- Periodic reviews: the monthly sign-offs that someone looked at what was applied and what failed.
- Normal change tickets for anything outside scope, such as the last kernel upgrade or a database version upgrade.
Vulnerability scan results back this up. If the scanner shows security fixes landing within the patch SLA, the automatic process is doing its job; the SOC 2 vulnerability scanning guide for on-prem covers that side. Package logs on servers sit outside what most GRC platforms read, so plan how they are collected. The guide to SOC 2 evidence collection on-prem covers dated evidence for those systems.
Watch out
Don't let default log rotation delete the evidence before the audit.
APT and unattended-upgrades logs rotate and compress over time, and logrotate removes the oldest files after a set number of rotations. A Type 2 observation period covers months of activity. Ship the logs to central logging or archive them monthly, and check the retention setting covers the full period.
What Breaks a SOC 2 Automatic Patching Standard Change
A SOC 2 automatic patching standard change breaks when the running configuration installs more than the approval covered, or when the evidence is missing. These are the gaps that turn into audit exceptions:
| What breaks it | Why the auditor flags it | Fix |
All updates enabled (-updates origin, upgrade_type = default) | Feature and version changes installed under a security-only approval | Limit to security repositories; move other updates to normal changes |
| WSUS auto-approves Upgrades or all classifications | OS upgrades with no assessment, testing or approval | Restrict rules to Security and Critical Updates |
| Kernel and major versions in scope with automatic reboots | Unplanned reboots and version jumps, outside any window | Exclude them, or allow reboots only inside a named window |
| Logs not retained | No evidence of what changed on sampled dates | Centralize or archive logs for the full period |
| Silent failures | Hosts stop patching and nobody knows | Failure alerts plus scan results compared against the SLA |
| Policy and configuration disagree | The written control does not match the system | Version-control the config; review it with the policy each year |
| No periodic review | No sign anyone oversees the automated change | Monthly sign-off on applied updates and failures |
The guide to SOC 2 change management with tickets covers the normal and emergency change paths that pick up everything outside the standard change.
How to Set Up SOC 2 Automatic Patching Before the Observation Period
SOC 2 automatic patching takes a few days to set up properly, and it needs to be in place before the observation period starts so every sampled date has evidence. A practical order:
- Find what is already running. Check each host for unattended-upgrades, dnf-automatic timers or WSUS approval rules, and record the current settings.
- Write the standard change entry in the change management policy, using the table above, and record a dated approval.
- Align the configuration to the policy: security repositories, exclusions, reboot window, notifications.
- Stage first. Point staging hosts at an earlier schedule than production.
- Fix log retention and send package logs to central logging.
- Add failure alerts and schedule the monthly review with a named owner and backup.
- Run one dry run.
unattended-upgrade --dry-runshows what would install without changing anything.
SOC 2 Automatic Patching Comes Down to One Approval and Continuous Evidence
SOC 2 automatic patching lets security fixes land in hours and still meets CC8.1, because the approval covers the procedure and the logs cover each run. The work is in the scope limits, the logs and the monthly review, and that work is small compared with ticketing every nightly update. The SOC 2 for bare metal and on-prem infrastructure page lists the other controls that change when you run your own servers.
Related Guides
- SOC 2 Vulnerability Risk Acceptance: What to Do When There Is No Vendor Fix
- Datadog for SOC 2 Vulnerability Scanning: Datadog vs Wazuh vs Nessus On-Prem
Patching that passes the audit
Truvo writes the change policy, sets up the patch evidence, and collects it on your on-prem and bare metal servers.
Frequently Asked Questions
Do automatic security updates need a change ticket for SOC 2?
No. Automatic security updates can be documented as a pre-approved standard change in the change management policy. The approval covers the procedure: security repositories only, named exclusions, a reboot window and monitoring. Each run is then evidenced by package logs, such as /var/log/apt/history.log or dnf history, with no separate ticket.
Is unattended-upgrades acceptable for SOC 2?
Yes, unattended-upgrades is acceptable for SOC 2 when its scope matches a documented standard change. Keep the allowed origins at the security pocket, exclude packages the policy reserves for normal changes, set reboot behaviour to the approved window, enable mail reports, and retain the logs in /var/log/unattended-upgrades/ for the full observation period.
Should kernel updates be applied automatically under SOC 2?
SOC 2 does not decide this; the company's policy does. Many companies exclude kernel packages from automatic updates because they need a reboot, and handle them through a normal change with a maintenance window. If kernel updates stay in scope, allow automatic reboots only inside a defined window and record that in the policy.
What evidence do SOC 2 auditors want for automatic patching?
SOC 2 auditors want the policy entry approving automatic patching as a standard change, the configuration on sampled hosts, package logs showing what installed on sampled dates, failure alerts and how they were resolved, and monthly review sign-offs. Vulnerability scan results showing fixes within the patch SLA support the evidence.
Does SOC 2 set a deadline for applying security patches?
No. SOC 2 sets no patch deadline. The CC8.1 point of focus asks for patches to be implemented in a timely manner, and the company defines what timely means in its own policy, usually as SLAs by severity. The auditor then tests against those SLAs.
Sources
- AICPA, 2017 Trust Services Criteria (With Revised Points of Focus, 2022)
- ServiceNow, Change types (standard change definition)
- ITSM.tools, ITIL 4 change enablement
- Ubuntu Server documentation, Automatic updates
- Ubuntu manpages, unattended-upgrade(8)
- GoLinuxCloud, APT history and rollback on Linux
- DNF documentation, DNF Automatic
- DNF5 documentation, history command
- Microsoft Learn, Approve and deploy updates in WSUS
Ready to Start Your Compliance Journey?
Get a clear, actionable roadmap with our readiness assessment.
Contact Us
Sample SOC 2 Control List
Input your email to download the list.
About the Author
Former security architect for Bank of Canada and Payments Canada. 20+ years building compliance programs for critical infrastructure.