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('.')]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…