]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect: fix null deref with entropy keyword
authorPhilippe Antoine <pantoine@oisf.net>
Sun, 28 Sep 2025 19:55:44 +0000 (21:55 +0200)
committerVictor Julien <vjulien@oisf.net>
Thu, 30 Oct 2025 03:18:40 +0000 (03:18 +0000)
Ticket: 7959

Usage of entropy with base64_data led to NULL dereference

src/detect-entropy.c

index 13dcd725d5081f8a2ac0d6533bf04d50f7440afd..4ef97b7e949b58e9559600669e2e98997c88e86f 100644 (file)
@@ -42,8 +42,17 @@ static int DetectEntropySetup(DetectEngineCtx *de_ctx, Signature *s, const char
             goto error;
 
         sm_list = s->init_data->list;
-        ded->fv_idx = VarNameStoreRegister(
-                DetectEngineBufferTypeGetNameById(de_ctx, sm_list), VAR_TYPE_FLOW_FLOAT);
+        const char *name;
+        if (sm_list == DETECT_SM_LIST_BASE64_DATA) {
+            name = "base64_data";
+        } else {
+            name = DetectEngineBufferTypeGetNameById(de_ctx, sm_list);
+            if (name == NULL) {
+                DEBUG_VALIDATE_BUG_ON(1);
+                name = "unknown";
+            }
+        }
+        ded->fv_idx = VarNameStoreRegister(name, VAR_TYPE_FLOW_FLOAT);
     } else {
         ded->fv_idx = VarNameStoreRegister("content", VAR_TYPE_FLOW_FLOAT);
     }