INNER CODE UNIT · Python
curr_version_is_affected
cyberark/KubiScan · KubiScan.py:136
def curr_version_is_affected(cve, current_k8s_version):
max_fixed_version = find_max_fixed_version(cve)
min_fixed_version = find_min_fixed_version(cve)
# current_k8s_version < min_fixed_version
if compare_versions(current_k8s_version, min_fixed_version) == -1:
return True
# current_k8s_version >= max_fixed_version
if compare_versions(current_k8s_version, max_fixed_version) >= 0:
return False
for fixed_version in cve['FixedVersions']:
if is_vulnerable_in_middle(current_k8s_version, fixed_version['Raw']):
return True
return False
def is_vulnerable_in_middle(current_k8s_version, cve_fixed_version):
# Example: 1.15.2 -> [1, 15, 2]
current_k8s_version_nums = [int(num) for num in current_k8s_version.split('.')]