diff --git a/applications/openshift-virtualization/kubevirt-cpu-vulnerabilities-mitigated/oval/shared.xml b/applications/openshift-virtualization/kubevirt-cpu-vulnerabilities-mitigated/oval/shared.xml new file mode 100644 index 00000000000..7bc150492de --- /dev/null +++ b/applications/openshift-virtualization/kubevirt-cpu-vulnerabilities-mitigated/oval/shared.xml @@ -0,0 +1,23 @@ + + + {{{ oval_metadata("No CPU vulnerability sysfs file should report a status beginning with 'Vulnerable'.", rule_title=rule_title) }}} + + + + + + + + + + + + /sys/devices/system/cpu/vulnerabilities + ^.*$ + ^Vulnerable + 1 + + diff --git a/applications/openshift-virtualization/kubevirt-cpu-vulnerabilities-mitigated/rule.yml b/applications/openshift-virtualization/kubevirt-cpu-vulnerabilities-mitigated/rule.yml new file mode 100644 index 00000000000..f46ffca63c6 --- /dev/null +++ b/applications/openshift-virtualization/kubevirt-cpu-vulnerabilities-mitigated/rule.yml @@ -0,0 +1,34 @@ +documentation_complete: true + +platform: {{{ product }}}-node + +title: 'Ensure All CPU Vulnerabilities Are Mitigated' + +description: |- + The Linux kernel exposes the mitigation status of known CPU hardware + vulnerabilities via sysfs files under + /sys/devices/system/cpu/vulnerabilities/. Each file reports + whether the running kernel has applied mitigations for a specific + vulnerability (e.g., Spectre, Meltdown, MDS, Retbleed). None of + these files should report a status beginning with + Vulnerable. + +rationale: |- + Unmitigated CPU vulnerabilities expose the host to speculative + execution attacks that can leak sensitive data across security + boundaries. In a virtualization environment, this risk is amplified + because a compromised guest may exploit hardware vulnerabilities to + read memory from other guests or the hypervisor. Ensuring that all + known CPU vulnerabilities are mitigated reduces the attack surface + of the virtualization host. + +severity: medium + +ocil_clause: 'any CPU vulnerability is not mitigated' + +ocil: |- + Run the following command on each node to check for unmitigated CPU + vulnerabilities: +
$ grep -r "Vulnerable" /sys/devices/system/cpu/vulnerabilities/
+ If any output is returned, the corresponding vulnerability is not + mitigated. diff --git a/products/ocp4/profiles/cis-vm-extension-node.profile b/products/ocp4/profiles/cis-vm-extension-node.profile index 7ba00c27d1a..87d89cd6a5f 100644 --- a/products/ocp4/profiles/cis-vm-extension-node.profile +++ b/products/ocp4/profiles/cis-vm-extension-node.profile @@ -30,3 +30,4 @@ description: |- selections: - kubevirt-nested-virtualization-disabled - kubevirt-seccomp-profile-permissions + - kubevirt-cpu-vulnerabilities-mitigated