dev-sec / dev-sec/linux-baseline
Controls for blocking kernel modules to reduce kernel attack surface
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 875
- Forks
- 193
- Avg merge
- 9m
- Merged PRs (30d)
- 1
Description
Description
Multiple Linux kernel local privilege escalation vulnerabilities (Copy Fail, Dirty Frag, Fragnesia) have been found recently in a very short time window. This increased pace of AI-aided vulnerability discovery is only expected to increase. Most of the recent vulnerabilities are in obscure kernel modules that almost body uses, but that can be autoloaded.
Solution
Extend the list of default kernel modules to block. Right now this only includes a handful of obscure filesystems, as recommended by CIS, but this small blocklist is clearly no longer enough.
Also allow whitelisting specific modules.
Attached: my personal list of modules to block by default. Optimized for common virtualized servers. Workstations and GPU servers will need to adjust this list.
kernel-modules-baseline-blocklist.yml
Alternatives
Block all modules that are not in active use. Modulejail uses this approach.
Additional information
No response
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the attached kernel-modules-baseline-blocklist.yml and the profile's existing CIS-based kernel-module blocklist. Compare the proposed defaults with the current behavior, then determine how specific modules should be whitelisted; done means the expanded defaults and documented whitelist behavior are implemented without blocking required modules.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, ruby, yaml
- Domain
- operating-systems, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100