cve-watch: list fixed CVEs in the tracking issue (best-effort) #8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/cve-list-in-issue"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements the operator's request: when
cve-watchdetects a new upstreamlinux-hardenedtag, the tracking issue now lists the mainline CVEs reported fixed between the kernel we ship and the new one.How
tools/list-fixed-cves.sh(new): given<current_kver> <new_kver>, selects CVEs from the kernel.org CVE project'svulns.gitwhose.dyadfixed-version is on the newmajor.minorbranch with patch in(cur, new], and prints a Markdown list (CVE id + the commit-subject title from the CVE's.json). It fetches the ~20 MB tarball from the googlesource mirror (plaincurl+jq+tar— no new tooling; cgit ongit.kernel.orgis behind an anti-bot gate).VULNS_DIR; list cap viaCVE_LIST_MAX(default 60).cve-watch.yml: thecmpstep emitsupstream_kver/local_kver; a new best-effort step runs the helper into/tmp/cve-block.md; the issue step folds it into the body via a shell-variable expansion, so the block's backticks/markdown are literal data, not command substitution (verified — a CVE title containing`backticks`or$(...)can't execute).cve-policy.md: documents the source and the honest caveats — the kernel CVE feed has no CVSS, so it can't tell you which entries meet the "CVSS ≥ 7.0 / exploited-in-the-wild" SLA tier; the list is long, can lag a release, and is informational only (never gates the response action).Verification
tools/list-fixed-cves.shis shellcheck-clean and unit-tested against a mockvulns.gittree (range selection incl. multi-branch.dyadlines, title rendering, the refresh/cross-series/no-match/cap paths, and always-exit-0).cve-watch.ymlis yamllint-clean. Live end-to-end fires on the next real upstream tag (operator-side).🤖 Generated with Claude Code