INNER CODE UNIT · Python
is_vulnerable_in_middle
cyberark/KubiScan · KubiScan.py:151
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('.')]
fixed_version_nums = [int(num) for num in cve_fixed_version.split('.')]
if fixed_version_nums[0] == current_k8s_version_nums[0] and fixed_version_nums[1] == current_k8s_version_nums[1]:
if fixed_version_nums[2] > current_k8s_version_nums[2]:
return True
return False
# version1 > version2 return 1
# version1 < version2 return -1
# version1 = version2 return 0
def sanitize_version(version):
"""Remove non-numeric suffixes from Kubernetes version strings."""
return re.sub(r'[^0-9\.]', '', version.split('-')[0])