Real, working CVE monitoring scripts for Linux.
| Script | What it does |
|---|---|
check-cve-2026-31431.sh |
Cross-references running kernel vs NVD feed + apt-cached version. Logs to /var/log/... and prints CVE_PATCHED=<yes|no|likely>. |
cve-alert.sh |
Polls cves.txt every hour, alerts on status change via Telegram and/or Slack webhook. |
cve-feed-update.sh |
Refreshes cves.txt from the CISA Known Exploited Vulnerabilities catalog. |
chmod +x *.sh
./check-cve-2026-31431.sh
# [2026-06-13 20:00:00] running kernel: 6.8.0-106-generic
# [2026-06-13 20:00:00] latest installed kernel: 6.8.0-106-generic
# [2026-06-13 20:00:00] NVD description: ...
# [2026-06-13 20:00:00] result: no kernel update available; assuming patched
# CVE_PATCHED=yes
# Loop, alert on change
export TG_BOT=...; export TG_CHAT=...; export WEBHOOK_URL=...
./cve-alert.sh
# Refresh the CVE list
./cve-feed-update.sh.
├── check-cve-2026-31431.sh
├── cve-alert.sh
├── cve-feed-update.sh
├── cves.txt # the CVE IDs the alerter watches
├── README.md
└── LICENSE
For check-cve-2026-31431.sh:
| Code | Meaning |
|---|---|
| 0 | Patched / not exposed |
| 1 | Vulnerable (kernel update needed) |
| 2 | Could not determine |
MIT