]> source.dussan.org Git - rspamd.git/commitdiff
[Enhancement] Exclude false positives of MIME_DOUBLE_BAD_EXTENSION 4920/head
authorDmitriy Alekseev <1865999+dragoangel@users.noreply.github.com>
Thu, 11 Apr 2024 16:17:08 +0000 (19:17 +0300)
committerGitHub <noreply@github.com>
Thu, 11 Apr 2024 16:17:08 +0000 (19:17 +0300)
If we detected extension of the file and this extension is equal to the real extension then we should not pass second extension to check function as it will trigger false positive for MIME_DOUBLE_BAD_EXTENSION.

src/plugins/lua/mime_types.lua

index 167ed38e28172072f53f775215d2aa1c625ebbad..71b6481d85df74d4c14f702744b2a7720f828fc2 100644 (file)
@@ -397,7 +397,12 @@ local function check_mime_type(task)
       if ext2 then
         local score1 = check_tables(ext)
         local score2 = check_tables(ext2)
-        check_extension(score1, score2)
+        -- Check if detected extension match real extension
+        if detected_ext and detected_ext == ext then
+            check_extension(score1, nil)
+        else
+            check_extension(score1, score2)
+        end
         -- Check for archive cloaking like .zip.gz
         if settings['archive_extensions'][ext2]
             -- Exclude multipart archive extensions, e.g. .zip.001