diff --git a/modules/exploits/multi/http/geoserver_unauth_rce_cve_2024_36401.rb b/modules/exploits/multi/http/geoserver_unauth_rce_cve_2024_36401.rb index b270ff0dc923..55f6d50c171c 100644 --- a/modules/exploits/multi/http/geoserver_unauth_rce_cve_2024_36401.rb +++ b/modules/exploits/multi/http/geoserver_unauth_rce_cve_2024_36401.rb @@ -58,7 +58,7 @@ def initialize(info = {}) 'Linux Dropper', { 'Platform' => ['linux'], - 'Arch' => [ARCH_X86, ARCH_X64, ARCH_AARCH64], + 'Arch' => [ARCH_X86, ARCH_X64, ARCH_AARCH64, ARCH_ARMLE], 'Type' => :linux_dropper, 'Linemax' => 16384, 'CmdStagerFlavor' => ['curl', 'wget', 'echo', 'printf', 'bourne'], @@ -167,15 +167,10 @@ def execute_command(cmd, _opts = {}) def check version_number = check_version + return CheckCode::Unknown('Could not retrieve the version information.') if version_number.nil? + return CheckCode::Vulnerable("Version #{version_number}") if version_number.between?(Rex::Version.new('2.25.0'), Rex::Version.new('2.25.1')) || version_number.between?(Rex::Version.new('2.24.0'), Rex::Version.new('2.24.3')) || version_number < Rex::Version.new('2.23.6') - unless version_number.nil? - if version_number.between?(Rex::Version.new('2.25.0'), Rex::Version.new('2.25.1')) || version_number.between?(Rex::Version.new('2.24.0'), Rex::Version.new('2.24.3')) || version_number < Rex::Version.new('2.23.6') - return CheckCode::Vulnerable("Version #{version_number}") - else - return CheckCode::Safe("Version #{version_number}") - end - end - CheckCode::Unknown('Could not retrieve the version information.') + CheckCode::Safe("Version #{version_number}") end def exploit