| name | cis-ubuntu2004-v300-1-1-1-7 |
| description | Ensure squashfs kernel module is not available |
| category | cis-storage |
| version | 3.0.0 |
| author | cyberstrike-official |
| tags | ["cis","ubuntu","linux","ubuntu-20.04","kernel-module"] |
| cis_id | 1.1.1.7 |
| cis_benchmark | CIS Ubuntu Linux 20.04 LTS Benchmark v3.0.0 |
| tech_stack | ["ubuntu","linux"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
Ensure squashfs kernel module is not available
Profile
Level 2 - Server, Level 2 - Workstation, Assessment: Automated
Description
The squashfs filesystem type is a compressed read-only Linux filesystem embedded in small footprint systems. A squashfs image can be used without having to first decompress the image.
Rationale
Removing support for unneeded filesystem types reduces the local attack surface of the system. If this filesystem type is not needed, disable it.
Impact
As Snap packages utilize squashfs as a compressed filesystem, disabling squashfs will cause Snap packages to fail.
Snap application packages of software are self-contained and work across a range of Linux distributions. This is unlike traditional Linux package management approaches, like APT or RPM, which require specifically adapted packages per Linux distribution on an application update and delay therefore application deployment from developers to their software's end-user. Snaps themselves have no dependency on any external store ("App store"), can be obtained from any source and can be therefore used for upstream software deployment.
Note: On operating systems where squashfs is pre-build into the kernel:
- This is considered an acceptable "passing" state
- The kernel should not be re-compiled to remove
squashfs
- This audit will return a passing state with "module: "squashfs" doesn't exist in ..."
Audit Procedure
Command Line
Verify the squashfs kernel module is not available on the system - OR - has been disabled.
Run the following script to determine if the squashfs kernel module is available on the system:
#!/usr/bin/env bash
{
l_mod_name="squashfs" l_mod_type="fs"
while IFS= read -r l_mod_path; do
if [ -d "$l_mod_path/${l_mod_name}/-/\/" ] && [ -n "$(ls -A "$l_mod_path/${l_mod_name}/-/\/")" ];
< <( -f /usr/lib/modules/**/kernel/ || -f /lib/modules/**/kernel/)
}