commit 30b77f265e04a56a6a95882920d7a61e47c1f1d4
parent 65147ad552817d1972305202052ef04cc1d79040
Author: finwo <finwo@pm.me>
Date: Sat, 9 May 2026 02:00:20 +0200
Add cve alias support
Diffstat:
5 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/detector/cve-2026-31431.c b/src/detector/cve-2026-31431.c
@@ -29,7 +29,7 @@ int detector_cve_2026_31431(struct cve_context *ctx) {
}
__attribute__((constructor)) void detector_cve_2026_31431_setup() {
- detector_queue_append("CVE-2026-31431",
+ detector_queue_append("CVE-2026-31431", "CopyFail",
"Add 'initcall_blacklist=algif_aead_init' to the Linux kernel cmdline.\n For GRUB, add it to "
"GRUB_CMDLINE_LINUX in /etc/default/grub and run update-grub.",
detector_cve_2026_31431);
diff --git a/src/detector/cve-2026-43284.c b/src/detector/cve-2026-43284.c
@@ -2298,7 +2298,7 @@ int detector_cve_2026_43284(struct cve_context *ctx) {
}
__attribute__((constructor)) void detector_cve_2026_43284_setup(void) {
- detector_queue_append("CVE-2026-43284",
+ detector_queue_append("CVE-2026-43284", "DirtyFrag",
"Dirty Frag (xfrm-ESP Page-Cache Write): "
"Run the following to blacklist vulnerable modules:\n"
" sh -c \"printf 'install esp4 /bin/false\\ninstall esp6 /bin/false\\n"
diff --git a/src/detector/setup.c b/src/detector/setup.c
@@ -12,7 +12,8 @@ int detector_fail = 0;
struct cve_context g_cve_ctx = {0};
-void detector_queue_append(const char *name, const char *remediation, int (*fn)(struct cve_context *ctx)) {
+void detector_queue_append(const char *name, const char *alias, const char *remediation,
+ int (*fn)(struct cve_context *ctx)) {
// Initial queue initialize
if (!detector_queue_cap) {
detector_queue = malloc(sizeof(void *));
@@ -29,6 +30,7 @@ void detector_queue_append(const char *name, const char *remediation, int (*fn)(
struct detector_queue_entry *entry = calloc(1, sizeof(struct detector_queue_entry));
entry->handler = fn;
entry->name = name;
+ entry->alias = alias;
entry->remediation = remediation;
// Append fn to queue
diff --git a/src/detector/setup.h b/src/detector/setup.h
@@ -17,6 +17,7 @@ struct detector_queue_entry {
int (*handler)(struct cve_context *ctx);
const char *name;
const char *remediation;
+ const char *alias;
int result;
};
@@ -27,7 +28,8 @@ extern int detector_total;
extern int detector_pass;
extern int detector_fail;
-void detector_queue_append(const char *name, const char *remediation, int (*fn)(struct cve_context *ctx));
+void detector_queue_append(const char *name, const char *alias, const char *remediation,
+ int (*fn)(struct cve_context *ctx));
#ifdef __cplusplus
} // extern "C"
diff --git a/src/main.c b/src/main.c
@@ -55,6 +55,9 @@ int main(int argc, char **argv) {
fprintf(stderr, "\n");
fprintf(stdout, "%s", entry->name);
fprintf(stderr, ":");
+ if (entry->alias) {
+ fprintf(stderr, " %s", entry->alias);
+ }
fprintf(stdout, "\n");
if (entry->remediation) {
fprintf(stderr, " %s\n", entry->remediation);