def test_determine_vulnerability(self):
        test_uname = "Linux ubuntuexploit 4.10.0-37-generic #41~16.04.1-Ubuntu SMP Fri Oct 6 22:42:59 UTC 2017 " \
         "x86_64 x86_64 x86_64 GNU/Linux"
        test_kernel = Kernel(kernel_version=test_uname, uname=True)
        test_window_pass = KernelWindow(UBUNTU_GENERIC, CONFIRMED_VULNERABLE,
                                        0, 0, 0, 99, 99, 99)
        test_window_pass.confirmation = CONFIRMED_VULNERABLE
        pass_status = test_window_pass.kernel_in_window(test_kernel)
        self.assertEqual(pass_status, CONFIRMED_VULNERABLE)

        test_window_low_fail = KernelWindow(UBUNTU_GENERIC,
                                            CONFIRMED_VULNERABLE, 4, 10, 1, 4,
                                            99, 99)
        low_fail_status = test_window_low_fail.kernel_in_window(test_kernel)
        self.assertEqual(low_fail_status, NOT_VULNERABLE)

        test_window_high_fail = KernelWindow(UBUNTU_GENERIC,
                                             CONFIRMED_VULNERABLE, 4, 9, 0, 4,
                                             9, 99)
        high_fail_status = test_window_high_fail.kernel_in_window(test_kernel)
        self.assertEqual(high_fail_status, NOT_VULNERABLE)

        test_exact_window_pass = KernelWindow(UBUNTU_GENERIC,
                                              CONFIRMED_VULNERABLE, 4, 10, 0,
                                              4, 10, 0)
        exact_pass_status = test_exact_window_pass.kernel_in_window(
            test_kernel)
        self.assertEqual(exact_pass_status, CONFIRMED_VULNERABLE)

        test_sudo_window = CVE20171000367().vulnerable_kernels[0]
        sudo_pass_status = test_sudo_window.kernel_in_window(test_kernel)
        self.assertEqual(sudo_pass_status, POTENTIALLY_VULNERABLE)
Exemplo n.º 2
0
	def test_low_fail(self):
		test_uname = "Linux ubuntuexploit 4.10.0-37-generic #41~16.04.1-Ubuntu SMP Fri Oct 6 22:42:59 UTC 2017 " \
			"x86_64 x86_64 x86_64 GNU/Linux"
		test_kernel = get_kernel_version(uname=test_uname)
		test_window_low_fail = KernelWindow(UBUNTU_GENERIC, BASE_VULNERABLE, 4, 10, 1, 4, 99, 99)
		low_fail_status = test_window_low_fail.kernel_in_window(test_kernel.distro, test_kernel.base)
		self.assertEqual(low_fail_status, None)
Exemplo n.º 3
0
	def test_base_vulnerable(self):
		test_uname = "Linux ubuntuexploit 4.10.0-37-generic #41~16.04.1-Ubuntu SMP Fri Oct 6 22:42:59 UTC 2017 " \
					 "x86_64 x86_64 x86_64 GNU/Linux"
		test_kernel = get_kernel_version(uname=test_uname)
		test_exact_window_pass = KernelWindow(UBUNTU_GENERIC, BASE_VULNERABLE, 4, 10, 0, 4, 10, 0)
		exact_pass_status = test_exact_window_pass.kernel_in_window(test_kernel.distro, test_kernel.base)
		self.assertEqual(exact_pass_status, BASE_VULNERABLE)