From d990e884af86c12f5ad049a2edae6cf3b06712eb Mon Sep 17 00:00:00 2001 From: Spencer McIntyre Date: Thu, 13 May 2021 17:27:58 -0400 Subject: [PATCH] Add and test even more targets --- .../CVE-2021-21551/CVE-2021-21551.x64.dll | Bin 94720 -> 94720 bytes .../local/cve_2021_21551_dbutil_memmove.md | 4 +++- .../source/exploits/CVE-2021-21551/exploit.c | 9 +++++++++ external/source/include/windows/common.h | 6 ++++++ .../local/cve_2021_21551_dbutil_memmove.rb | 5 +++-- 5 files changed, 21 insertions(+), 3 deletions(-) diff --git a/data/exploits/CVE-2021-21551/CVE-2021-21551.x64.dll b/data/exploits/CVE-2021-21551/CVE-2021-21551.x64.dll index 1e215cf7cfcc3d10ced881055e350503812a2602..2b8b14a13e24dca4f008cd8b183e1e674c621df6 100755 GIT binary patch delta 23946 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 QY*)pu$^*BTF_Z5904Z-do&W#< delta 23596 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 tUh=u1FOkLXFJXNwQammmq}1= 17134 && build_num <= 19042) + return true if sysinfo_value =~ /Windows 10/ && (build_num >= 14393 && build_num <= 19042) + return true if sysinfo_value =~ /Windows 2016/ && (build_num >= 14393 && build_num <= 19042) false end