CVSS-1.14/0000755000175000017500000000000015032254715011225 5ustar peppepeppeCVSS-1.14/t/0000755000175000017500000000000015032254714011467 5ustar peppepeppeCVSS-1.14/t/10-cvss3.t0000644000175000017500000025776614653447763013202 0ustar peppepeppe#!perl use v5.10; use Test::More; use CVSS::v3; while (my $line = ) { chomp($line); my ($base_score, $vector_string) = split /\s+/, $line; my $cvss = CVSS::v3->from_vector_string($vector_string); cmp_ok($cvss->base_score, '==', $base_score, "$base_score --> $vector_string"); cmp_ok($cvss->to_vector_string, 'eq', $vector_string, "$vector_string"); } done_testing(); __DATA__ 0.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:N 0.0 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:N 0.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:N 0.0 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:N 0.0 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N 0.0 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:N/A:N 0.0 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:N 0.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N 0.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:N 1.6 CVSS:3.1/AV:P/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 1.8 CVSS:3.1/AV:A/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N 1.8 CVSS:3.1/AV:A/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 1.8 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N 1.8 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N 1.8 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 1.8 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N 1.9 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N 1.9 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N 1.9 CVSS:3.0/AV:P/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N 1.9 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N 1.9 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L 2.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N 2.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N 2.0 CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N 2.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:N/A:N 2.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N 2.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N 2.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N 2.0 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N 2.0 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 2.1 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 2.1 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N 2.1 CVSS:3.0/AV:P/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N 2.1 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 2.1 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L 2.1 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N 2.2 CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N 2.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N 2.2 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N 2.2 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:L/A:N 2.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N 2.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:N 2.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L 2.3 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N 2.3 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N 2.3 CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N 2.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N 2.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N 2.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L 2.4 CVSS:3.0/AV:A/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N 2.4 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:N/A:N 2.4 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 2.4 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 2.4 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 2.4 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N 2.4 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L 2.4 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:N/A:N 2.4 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N 2.4 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:N/A:L 2.4 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 2.4 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 2.4 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 2.5 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:N 2.5 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N 2.5 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N 2.5 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L 2.5 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N 2.5 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:N 2.5 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:L 2.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N 2.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N 2.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L 2.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:L/I:N/A:N 2.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:N 2.5 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N 2.5 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N 2.5 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L 2.6 CVSS:3.0/AV:A/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:N 2.6 CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N 2.6 CVSS:3.0/AV:A/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N 2.6 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:N 2.6 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N 2.6 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N 2.6 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:N 2.6 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N 2.6 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:L/A:N 2.6 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L 2.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N 2.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N 2.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L 2.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N 2.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N 2.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N 2.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L 2.7 CVSS:3.1/AV:P/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:N 2.8 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N 2.8 CVSS:3.0/AV:L/AC:L/PR:H/UI:R/S:C/C:N/I:L/A:N 2.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N 2.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N 2.8 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N 2.8 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:L 2.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N 2.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N 2.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L 2.9 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N 2.9 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N 2.9 CVSS:3.0/AV:P/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N 2.9 CVSS:3.1/AV:A/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:L 2.9 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N 2.9 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 2.9 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N 3.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:L 3.0 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:N/A:N 3.0 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N 3.0 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L 3.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:L 3.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:N 3.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:N 3.0 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:N/A:N 3.0 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:N 3.1 CVSS:3.0/AV:A/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:L 3.1 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N 3.1 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N 3.1 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 3.1 CVSS:3.0/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N 3.1 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:N 3.1 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:L 3.1 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N 3.1 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N 3.1 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L 3.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N 3.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N 3.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L 3.1 CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N 3.1 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N 3.1 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N 3.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:L 3.1 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:N 3.1 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:L 3.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N 3.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N 3.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L 3.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N 3.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N 3.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L 3.2 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N 3.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N 3.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:N 3.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:L 3.2 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:N 3.2 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L 3.2 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N 3.3 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 3.3 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N 3.3 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L 3.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N 3.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N 3.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L 3.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N 3.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 3.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N 3.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L 3.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N 3.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N 3.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L 3.3 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:N 3.3 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:L 3.3 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:L 3.4 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N 3.4 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N 3.4 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L 3.4 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:N/A:N 3.4 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N 3.4 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N 3.4 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:L 3.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N 3.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:L/A:N 3.4 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:N/A:N 3.4 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:N/I:L/A:N 3.4 CVSS:3.1/AV:P/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N 3.5 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 3.5 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L 3.5 CVSS:3.0/AV:A/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N 3.5 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N 3.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N 3.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N 3.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N 3.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L 3.5 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 3.5 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 3.5 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N 3.5 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L 3.5 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N 3.5 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N 3.5 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L 3.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N 3.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N 3.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N 3.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:N/A:L 3.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:L 3.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N 3.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N 3.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L 3.5 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 3.5 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L 3.6 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N 3.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N 3.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L 3.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L 3.6 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L 3.6 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N 3.6 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N 3.7 CVSS:3.0/AV:A/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N 3.7 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:N 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 3.7 CVSS:3.0/AV:P/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L 3.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:N 3.7 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N 3.7 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:L 3.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N 3.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N 3.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 3.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N 3.8 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N 3.8 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N 3.8 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:L 3.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N 3.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N 3.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:L 3.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N 3.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:L 3.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:L 3.8 CVSS:3.1/AV:P/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N 3.8 CVSS:3.1/AV:P/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L 3.9 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L 3.9 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L 3.9 CVSS:3.0/AV:P/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 3.9 CVSS:3.0/AV:P/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N 3.9 CVSS:3.0/AV:P/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H 3.9 CVSS:3.0/AV:P/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L 3.9 CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L 3.9 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N 3.9 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L 3.9 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:L 3.9 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L 3.9 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:L 3.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N 3.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L 3.9 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:L 3.9 CVSS:3.1/AV:P/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:N 3.9 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 3.9 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N 3.9 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H 3.9 CVSS:3.1/AV:P/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L 4.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N 4.0 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N 4.0 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 4.0 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 4.0 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 4.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:N 4.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N 4.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N 4.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:L 4.0 CVSS:3.0/AV:P/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N 4.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N 4.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:H/A:N 4.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 4.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L 4.0 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 4.0 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 4.0 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 4.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:N 4.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:N/I:L/A:L 4.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N 4.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:L 4.0 CVSS:3.1/AV:P/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N 4.0 CVSS:3.1/AV:P/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N 4.0 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:L 4.1 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N 4.1 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N 4.1 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N 4.1 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:N 4.1 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H 4.1 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N 4.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:N/A:N 4.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:N 4.1 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N 4.1 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N 4.1 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N 4.1 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N 4.1 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:N 4.1 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H 4.1 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N 4.1 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L 4.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N 4.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:N 4.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:N/A:N 4.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:N 4.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L 4.1 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L 4.1 CVSS:3.1/AV:P/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N 4.1 CVSS:3.1/AV:P/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N 4.1 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L 4.2 CVSS:3.0/AV:A/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:N 4.2 CVSS:3.0/AV:A/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H 4.2 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N 4.2 CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L 4.2 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L 4.2 CVSS:3.0/AV:L/AC:L/PR:H/UI:R/S:U/C:N/I:N/A:H 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:H/A:N 4.2 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N 4.2 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N 4.2 CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N 4.2 CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N 4.2 CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H 4.2 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N 4.2 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N 4.2 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L 4.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L 4.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N 4.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N 4.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:N/I:H/A:N 4.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:N/I:N/A:H 4.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N 4.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:H/A:N 4.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 4.2 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N 4.2 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L 4.2 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L 4.2 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N 4.2 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L 4.2 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N 4.2 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N 4.2 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 4.3 CVSS:3.0/AV:A/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N 4.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 4.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 4.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L 4.3 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L 4.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 4.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N 4.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L 4.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N 4.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N 4.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L 4.3 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 4.3 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N 4.3 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 4.3 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 4.3 CVSS:3.0/AV:P/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N 4.3 CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L 4.3 CVSS:3.1/AV:A/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N 4.3 CVSS:3.1/AV:A/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N 4.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 4.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 4.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 4.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N 4.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N 4.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L 4.3 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L 4.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N 4.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N 4.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L 4.3 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 4.3 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N 4.3 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 4.3 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 4.3 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N 4.3 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N 4.3 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H 4.4 CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N 4.4 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 4.4 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N 4.4 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H 4.4 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N 4.4 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L 4.4 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N 4.4 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:N 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H 4.4 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N 4.4 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:N 4.4 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:N 4.4 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H 4.4 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 4.4 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N 4.4 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H 4.4 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N 4.4 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L 4.4 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L 4.4 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N 4.4 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L 4.4 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L 4.4 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N 4.4 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N 4.4 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:N 4.4 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H 4.4 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N 4.4 CVSS:3.1/AV:P/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:L 4.5 CVSS:3.0/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 4.5 CVSS:3.0/AV:A/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H 4.5 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L 4.5 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L 4.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N 4.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:N/A:H 4.5 CVSS:3.0/AV:P/AC:H/PR:L/UI:R/S:U/C:H/I:L/A:N 4.5 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 4.5 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N 4.5 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H 4.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L 4.5 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L 4.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N 4.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:H/A:N 4.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:N/A:H 4.6 CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L 4.6 CVSS:3.0/AV:A/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N 4.6 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:L 4.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N 4.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:L 4.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L 4.6 CVSS:3.0/AV:P/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:L 4.6 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 4.6 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N 4.6 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 4.6 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N 4.6 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L 4.6 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N 4.6 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:L 4.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N 4.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:N/A:L 4.6 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L 4.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N 4.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:L 4.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L 4.6 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 4.6 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N 4.6 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 4.7 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N 4.7 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L 4.7 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H 4.7 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:L 4.7 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N 4.7 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 4.7 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H 4.7 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N 4.7 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N 4.7 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H 4.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N 4.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L 4.7 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N 4.7 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N 4.7 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:L 4.7 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N 4.7 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N 4.7 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L 4.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:L/A:N 4.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H 4.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:L 4.7 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N 4.7 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 4.7 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H 4.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N 4.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N 4.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H 4.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N 4.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L 4.7 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N 4.7 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N 4.8 CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N 4.8 CVSS:3.0/AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N 4.8 CVSS:3.0/AV:A/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N 4.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L 4.8 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:L/A:N 4.8 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H 4.8 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N 4.8 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L 4.8 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N 4.8 CVSS:3.0/AV:P/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N 4.8 CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L 4.8 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N 4.8 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 4.8 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H 4.8 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N 4.8 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N 4.8 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H 4.8 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N 4.8 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N 4.8 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:H/A:N 4.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L 4.8 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:H/A:N 4.8 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:N 4.8 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:N 4.8 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H 4.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N 4.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L 4.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L 4.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N 4.8 CVSS:3.1/AV:P/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N 4.8 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H 4.9 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L 4.9 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N 4.9 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:L 4.9 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 4.9 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N 4.9 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H 4.9 CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N 4.9 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L 4.9 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N 4.9 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 4.9 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N 4.9 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H 4.9 CVSS:3.1/AV:P/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:H 4.9 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N 4.9 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N 4.9 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L 4.9 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L 5.0 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L 5.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:L 5.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:N/A:N 5.0 CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:L 5.0 CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:H/A:N 5.0 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N 5.0 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N 5.0 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H 5.0 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N 5.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H 5.0 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L 5.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L 5.0 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N 5.0 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N 5.0 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:L 5.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:L 5.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:N/A:N 5.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:N/I:H/A:N 5.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:N/I:N/A:H 5.0 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:L 5.0 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L 5.0 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N 5.0 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N 5.0 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H 5.0 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N 5.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H 5.0 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L 5.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L 5.0 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N 5.0 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N 5.0 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:L 5.0 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:H 5.1 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:H 5.1 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N 5.1 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N 5.1 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 5.1 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N 5.1 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:H 5.1 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H 5.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 5.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L 5.1 CVSS:3.1/AV:A/AC:H/PR:H/UI:R/S:U/C:H/I:L/A:L 5.1 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N 5.1 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 5.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N 5.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:L 5.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:N 5.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:H 5.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L 5.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H 5.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 5.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L 5.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L 5.1 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:L 5.2 CVSS:3.0/AV:A/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N 5.2 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:L 5.2 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:L 5.2 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:N 5.2 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N 5.2 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N 5.2 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H 5.2 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N 5.2 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L 5.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L 5.2 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N 5.2 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:L 5.2 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:L 5.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:L/A:N 5.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:H/A:N 5.2 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N 5.2 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L 5.2 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N 5.2 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L 5.2 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H 5.3 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N 5.3 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N 5.3 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 5.3 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:N/A:N 5.3 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H 5.3 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H 5.3 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L 5.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L 5.3 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N 5.3 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 5.3 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H 5.3 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N 5.3 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N 5.3 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 5.3 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 5.3 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N 5.3 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N 5.3 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 5.3 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:N/A:N 5.3 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:H/A:N 5.3 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H 5.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L 5.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N 5.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:H 5.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L 5.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H 5.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N 5.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:N/A:H 5.3 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:N 5.3 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:H 5.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:H/A:L 5.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L 5.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L 5.3 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:L/A:L 5.3 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:H 5.3 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N 5.3 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 5.3 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H 5.3 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N 5.3 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N 5.3 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 5.3 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H 5.3 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 5.3 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N 5.3 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H 5.4 CVSS:3.0/AV:A/AC:H/PR:H/UI:N/S:C/C:H/I:N/A:N 5.4 CVSS:3.0/AV:A/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H 5.4 CVSS:3.0/AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:L 5.4 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N 5.4 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 5.4 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L 5.4 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:L 5.4 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N 5.4 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N 5.4 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L 5.4 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L 5.4 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N 5.4 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N 5.4 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L 5.4 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L 5.4 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N 5.4 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:N 5.4 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:N 5.4 CVSS:3.1/AV:A/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L 5.4 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 5.4 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L 5.4 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L 5.4 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:N/A:N 5.4 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:L/A:N 5.4 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:H/A:N 5.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N 5.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:L 5.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N 5.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L 5.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L 5.4 CVSS:3.1/AV:P/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N 5.5 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L 5.5 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N 5.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 5.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N 5.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 5.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N 5.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N 5.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H 5.5 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:H/A:L 5.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N 5.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N 5.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:N 5.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H 5.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L 5.5 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L 5.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:H/A:L 5.5 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N 5.5 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:H/I:N/A:N 5.5 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:N/I:H/A:N 5.5 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:N/I:N/A:H 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H 5.5 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:L 5.5 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:H/A:L 5.5 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H 5.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:L 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:L 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:L 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:N 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:H 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H 5.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L 5.5 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N 5.6 CVSS:3.0/AV:A/AC:H/PR:H/UI:R/S:U/C:N/I:H/A:H 5.6 CVSS:3.0/AV:A/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N 5.6 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N 5.6 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:H/A:H 5.6 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N 5.6 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N 5.6 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:H 5.6 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L 5.6 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:H 5.6 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N 5.6 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:H 5.6 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:H/A:H 5.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N 5.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:H 5.6 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L 5.6 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:L 5.6 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:H 5.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:L 5.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:L 5.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H 5.6 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L 5.6 CVSS:3.1/AV:P/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:L 5.6 CVSS:3.1/AV:P/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N 5.6 CVSS:3.1/AV:P/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N 5.6 CVSS:3.1/AV:P/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H 5.6 CVSS:3.1/AV:P/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N 5.7 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 5.7 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 5.7 CVSS:3.0/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N 5.7 CVSS:3.0/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N 5.7 CVSS:3.0/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H 5.7 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:H 5.7 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L 5.7 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L 5.7 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N 5.7 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N 5.7 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H 5.7 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:L 5.7 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 5.7 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N 5.7 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 5.7 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N 5.7 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N 5.7 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H 5.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N 5.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:H 5.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N 5.7 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L 5.7 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L 5.7 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L 5.7 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N 5.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:L/A:L 5.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:H 5.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N 5.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N 5.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H 5.7 CVSS:3.1/AV:P/AC:H/PR:H/UI:N/S:U/C:H/I:L/A:H 5.7 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N 5.7 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N 5.7 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H 5.7 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H 5.7 CVSS:3.1/AV:P/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N 5.7 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L 5.7 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H 5.8 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L 5.8 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H 5.8 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:H 5.8 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:N/A:N 5.8 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H 5.8 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N 5.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N 5.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N 5.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L 5.8 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N 5.8 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:L 5.8 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N 5.8 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:N/I:L/A:H 5.8 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:L 5.8 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H 5.8 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:L 5.8 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N 5.8 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:H 5.8 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:N/A:N 5.8 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:H/A:N 5.8 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H 5.8 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N 5.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L 5.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N 5.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N 5.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L 5.8 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H 5.9 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N 5.9 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N 5.9 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:H 5.9 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 5.9 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N 5.9 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N 5.9 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:H 5.9 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H 5.9 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N 5.9 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N 5.9 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 5.9 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:N 5.9 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 5.9 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L 5.9 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N 5.9 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N 5.9 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:L 5.9 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L 5.9 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N 5.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N 5.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N 5.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:H 5.9 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 5.9 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N 5.9 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:H 5.9 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:H 5.9 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N 5.9 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:H 5.9 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L 5.9 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H 5.9 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:L/A:L 5.9 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:H/A:L 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:N 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:L 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:N 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:H 5.9 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L 5.9 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 5.9 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 5.9 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H 5.9 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H 6.0 CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N 6.0 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N 6.0 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H 6.0 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N 6.0 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:H 6.0 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H 6.0 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L 6.0 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L 6.0 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H 6.0 CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:H 6.0 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L 6.0 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N 6.0 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:H 6.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N 6.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:N 6.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H 6.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N 6.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:H 6.0 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H 6.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:L 6.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:L/A:H 6.0 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L 6.0 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L 6.0 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:L 6.0 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:H 6.1 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N 6.1 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H 6.1 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N 6.1 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:N 6.1 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N 6.1 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L 6.1 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N 6.1 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H 6.1 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H 6.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L 6.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N 6.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N 6.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H 6.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N 6.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N 6.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:H 6.1 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N 6.1 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:H/A:H 6.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N 6.1 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 6.1 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H 6.1 CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N 6.1 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N 6.1 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H 6.1 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N 6.1 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:H 6.1 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H 6.1 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N 6.1 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:H 6.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N 6.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L 6.1 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:H/A:N 6.1 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:H/A:L 6.1 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:H 6.1 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:N 6.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:L 6.1 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:H/A:H 6.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N 6.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L 6.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N 6.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H 6.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H 6.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L 6.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:L 6.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:H 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:L 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H 6.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N 6.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N 6.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:H 6.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N 6.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:H/A:H 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:L 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:L 6.1 CVSS:3.1/AV:P/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H 6.1 CVSS:3.1/AV:P/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H 6.1 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:H 6.1 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 6.1 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H 6.1 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H 6.2 CVSS:3.0/AV:A/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N 6.2 CVSS:3.0/AV:A/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H 6.2 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 6.2 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N 6.2 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 6.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L 6.2 CVSS:3.0/AV:P/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 6.2 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N 6.2 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H 6.2 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L 6.2 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H 6.2 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 6.2 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N 6.2 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 6.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L 6.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:H/A:H 6.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:N/A:N 6.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:N/I:H/A:N 6.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:N/I:N/A:H 6.2 CVSS:3.1/AV:P/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H 6.2 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 6.2 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L 6.3 CVSS:3.0/AV:A/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H 6.3 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L 6.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 6.3 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H 6.3 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N 6.3 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H 6.3 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H 6.3 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N 6.3 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H 6.3 CVSS:3.0/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:H/A:N 6.3 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L 6.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N 6.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N 6.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H 6.3 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N 6.3 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:H 6.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L 6.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N 6.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N 6.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L 6.3 CVSS:3.0/AV:P/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H 6.3 CVSS:3.0/AV:P/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H 6.3 CVSS:3.1/AV:A/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H 6.3 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N 6.3 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L 6.3 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H 6.3 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:H 6.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 6.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L 6.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N 6.3 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H 6.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N 6.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H 6.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H 6.3 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N 6.3 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H 6.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L 6.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H 6.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:H/I:L/A:N 6.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L 6.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N 6.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N 6.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H 6.3 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N 6.3 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N 6.3 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:H 6.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L 6.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N 6.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N 6.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:L 6.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H 6.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L 6.3 CVSS:3.1/AV:P/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H 6.3 CVSS:3.1/AV:P/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H 6.3 CVSS:3.1/AV:P/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:L 6.4 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L 6.4 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H 6.4 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N 6.4 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:H 6.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H 6.4 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:L 6.4 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H 6.4 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N 6.4 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:H 6.4 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N 6.4 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:L 6.4 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:L 6.4 CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 6.4 CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H 6.4 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H 6.4 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H 6.4 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H 6.4 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N 6.4 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H 6.4 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L 6.4 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H 6.4 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:L 6.4 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N 6.4 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:H 6.4 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H 6.4 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:L 6.4 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H 6.4 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N 6.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:L 6.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:L 6.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:H 6.4 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:L 6.4 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:L/A:H 6.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N 6.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:L 6.4 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 6.4 CVSS:3.1/AV:P/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H 6.4 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L 6.4 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H 6.5 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 6.5 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N 6.5 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 6.5 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:H 6.5 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L 6.5 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:H 6.5 CVSS:3.0/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H 6.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N 6.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N 6.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H 6.5 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:L 6.5 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N 6.5 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N 6.5 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:H 6.5 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L 6.5 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H 6.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N 6.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:H 6.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H 6.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 6.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N 6.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 6.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L 6.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 6.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L 6.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L 6.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N 6.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N 6.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H 6.5 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L 6.5 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 6.5 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N 6.5 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 6.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:H 6.5 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H 6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N 6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N 6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H 6.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:N 6.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:N 6.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:L 6.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N 6.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L 6.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N 6.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:H 6.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L 6.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H 6.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N 6.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:H 6.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H 6.6 CVSS:3.0/AV:A/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H 6.6 CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:H 6.6 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L 6.6 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L 6.6 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H 6.6 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N 6.6 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:H 6.6 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H 6.6 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H 6.6 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:H/A:N 6.6 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H 6.6 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L 6.6 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 6.6 CVSS:3.0/AV:P/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 6.6 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N 6.6 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H 6.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L 6.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L 6.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H 6.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N 6.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:H 6.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H 6.6 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L 6.6 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L 6.6 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H 6.6 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:H/A:N 6.6 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H 6.6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L 6.6 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 6.6 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 6.7 CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H 6.7 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N 6.7 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:H 6.7 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 6.7 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:H 6.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L 6.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H 6.7 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:L 6.7 CVSS:3.0/AV:P/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N 6.7 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:H 6.7 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N 6.7 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H 6.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:L 6.7 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H 6.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N 6.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H 6.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H 6.7 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N 6.7 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:H 6.7 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:H 6.7 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 6.7 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:L 6.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L 6.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H 6.7 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:H 6.8 CVSS:3.0/AV:A/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:L 6.8 CVSS:3.0/AV:A/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H 6.8 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N 6.8 CVSS:3.0/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 6.8 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N 6.8 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N 6.8 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H 6.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L 6.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:H 6.8 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L 6.8 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H 6.8 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N 6.8 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H 6.8 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H 6.8 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N 6.8 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N 6.8 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H 6.8 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N 6.8 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H 6.8 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N 6.8 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H 6.8 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H 6.8 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N 6.8 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N 6.8 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:H 6.8 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L 6.8 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:H 6.8 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 6.8 CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:L 6.8 CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H 6.8 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N 6.8 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H 6.8 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H 6.8 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 6.8 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N 6.8 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N 6.8 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H 6.8 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H 6.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L 6.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:H 6.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L 6.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N 6.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L 6.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N 6.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H 6.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L 6.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H 6.8 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:H/A:L 6.8 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N 6.8 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H 6.8 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:H 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H 6.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N 6.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:N 6.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H 6.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H 6.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N 6.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N 6.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:H 6.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L 6.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:L 6.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:H 6.8 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 6.9 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:N 6.9 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:H/A:N 6.9 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:L/A:N 6.9 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:H/A:N 6.9 CVSS:3.0/AV:P/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H 6.9 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N 6.9 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:N 6.9 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:N/I:H/A:H 6.9 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:H 6.9 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:L/A:N 6.9 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:N/I:L/A:H 6.9 CVSS:3.1/AV:P/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H 6.9 CVSS:3.1/AV:P/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:L 7.0 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H 7.0 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H 7.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:L 7.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L 7.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H 7.0 CVSS:3.0/AV:P/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L 7.0 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L 7.0 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H 7.0 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H 7.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:L 7.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L 7.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H 7.1 CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H 7.1 CVSS:3.0/AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H 7.1 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N 7.1 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H 7.1 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 7.1 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 7.1 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H 7.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 7.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H 7.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:H 7.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N 7.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H 7.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H 7.1 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N 7.1 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L 7.1 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H 7.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L 7.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:H 7.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N 7.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L 7.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N 7.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H 7.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L 7.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H 7.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L 7.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N 7.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:L 7.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N 7.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H 7.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L 7.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H 7.1 CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H 7.1 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H 7.1 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L 7.1 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H 7.1 CVSS:3.1/AV:A/AC:L/PR:H/UI:R/S:C/C:L/I:H/A:L 7.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L 7.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N 7.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N 7.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H 7.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L 7.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H 7.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 7.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 7.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:N 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H 7.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N 7.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N 7.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L 7.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:L 7.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H 7.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H 7.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L 7.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N 7.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N 7.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H 7.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L 7.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H 7.1 CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H 7.1 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N 7.2 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H 7.2 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 7.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N 7.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:L 7.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L 7.2 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:N 7.2 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:H/A:H 7.2 CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H 7.2 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N 7.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:L 7.2 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:H 7.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 7.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N 7.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:L 7.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L 7.2 CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H 7.3 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 7.3 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:L 7.3 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H 7.3 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:H 7.3 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H 7.3 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H 7.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H 7.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L 7.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N 7.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:H 7.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H 7.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 7.3 CVSS:3.0/AV:P/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L 7.3 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N 7.3 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 7.3 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 7.3 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H 7.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N 7.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H 7.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:L 7.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:L 7.3 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:H/A:L 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H 7.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L 7.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L 7.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H 7.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L 7.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:H 7.3 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:N 7.3 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:N/I:H/A:H 7.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N 7.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:H 7.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H 7.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 7.3 CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H 7.4 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 7.4 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N 7.4 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H 7.4 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 7.4 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N 7.4 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H 7.4 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H 7.4 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L 7.4 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N 7.4 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N 7.4 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H 7.4 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H 7.4 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 7.4 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N 7.4 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H 7.4 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:L 7.4 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L 7.4 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 7.4 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N 7.4 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:N/I:H/A:H 7.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N 7.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H 7.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H 7.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H 7.4 CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 7.5 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 7.5 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H 7.5 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N 7.5 CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H 7.5 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H 7.5 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 7.5 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 7.5 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N 7.5 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:L 7.5 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H 7.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N 7.5 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H 7.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:N 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:H 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:L 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:H 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:H/A:L 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:H 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H 7.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:H/A:L 7.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:H 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 7.6 CVSS:3.0/AV:A/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H 7.6 CVSS:3.0/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H 7.6 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H 7.6 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H 7.6 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N 7.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L 7.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L 7.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H 7.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N 7.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:H 7.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:H 7.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L 7.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H 7.6 CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 7.6 CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H 7.6 CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H 7.6 CVSS:3.1/AV:A/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N 7.6 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H 7.6 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L 7.6 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L 7.6 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H 7.6 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H 7.6 CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H 7.6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N 7.6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:L 7.6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:N 7.6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:H 7.6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:L 7.6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:H 7.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L 7.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L 7.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H 7.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N 7.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:H/A:N 7.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L 7.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:H 7.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L 7.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L 7.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H 7.6 CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 7.7 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H 7.7 CVSS:3.0/AV:L/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H 7.7 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 7.7 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H 7.7 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H 7.7 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L 7.7 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N 7.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L 7.7 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N 7.7 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N 7.7 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H 7.7 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L 7.7 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:H 7.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H 7.7 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H 7.7 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 7.7 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H 7.7 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H 7.7 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L 7.7 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:H 7.7 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:H/A:H 7.7 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L 7.7 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N 7.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L 7.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:H 7.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:H 7.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N 7.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N 7.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H 7.8 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H 7.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 7.8 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 7.8 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:C/C:L/I:H/A:H 7.8 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H 7.8 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 7.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 7.9 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N 7.9 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:H 7.9 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:H 7.9 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N 7.9 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:L 7.9 CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H 7.9 CVSS:3.1/AV:A/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H 7.9 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N 7.9 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:H 7.9 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:H 7.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L 7.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:H 7.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N 7.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:H 7.9 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H 7.9 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:N 7.9 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:L 7.9 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:H 7.9 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:H 7.9 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:H 8.0 CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H 8.0 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N 8.0 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 8.0 CVSS:3.0/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 8.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H 8.0 CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H 8.0 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H 8.0 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H 8.0 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N 8.0 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 8.0 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 8.0 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L 8.0 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H 8.0 CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H 8.0 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H 8.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N 8.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:H 8.0 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H 8.1 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 8.1 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H 8.1 CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H 8.1 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 8.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 8.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 8.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H 8.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N 8.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H 8.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H 8.1 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:H 8.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 8.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H 8.1 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H 8.1 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H 8.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:L 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:L 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:H 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 8.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N 8.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:N/I:H/A:H 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H 8.2 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:H 8.2 CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H 8.2 CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H 8.2 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:H 8.2 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:H 8.2 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N 8.2 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H 8.2 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:L 8.2 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:H/A:L 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:N 8.2 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:H 8.2 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:H 8.2 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:H 8.2 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:L 8.2 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:H 8.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H 8.2 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H 8.2 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N 8.2 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N 8.2 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:H 8.2 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:H/A:H 8.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:L 8.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H 8.2 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:L 8.2 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:H/A:L 8.2 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:H 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:L 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:N 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:H 8.3 CVSS:3.0/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H 8.3 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H 8.3 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:L 8.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L 8.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H 8.3 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H 8.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L 8.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L 8.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:H 8.3 CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H 8.3 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:L 8.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L 8.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H 8.3 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H 8.3 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:L 8.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L 8.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H 8.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H 8.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L 8.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L 8.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H 8.4 CVSS:3.0/AV:A/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H 8.4 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N 8.4 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:H 8.4 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H 8.4 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 8.4 CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H 8.4 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H 8.4 CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H 8.4 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N 8.4 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:H 8.4 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H 8.4 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 8.4 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L 8.4 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:H 8.4 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H 8.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:H 8.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:H 8.5 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H 8.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N 8.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:L 8.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N 8.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:H 8.5 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H 8.5 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:H 8.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L 8.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H 8.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N 8.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:L 8.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N 8.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:H 8.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L 8.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H 8.6 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H 8.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 8.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N 8.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H 8.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L 8.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L 8.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H 8.6 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H 8.7 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L 8.7 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:H 8.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N 8.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:H 8.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N 8.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:H 8.7 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:H 8.7 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N 8.7 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H 8.7 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L 8.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N 8.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:H 8.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:H 8.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N 8.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:H 8.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N 8.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H 8.8 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 8.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 8.8 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 8.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:H 8.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 8.8 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L 8.8 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 8.8 CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H 8.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:H 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 8.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L 8.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:H 8.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L 9.0 CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 9.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H 9.0 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:L 9.0 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H 9.0 CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H 9.0 CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 9.0 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N 9.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H 9.0 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:H 9.0 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H 9.0 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H 9.1 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H 9.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L 9.1 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:H 9.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 9.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H 9.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H 9.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H 9.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H 9.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N 9.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:H 9.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 9.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N 9.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:L 9.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:H 9.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N 9.3 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:H 9.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:L 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:H 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:L 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:H 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:H 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:H 9.4 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L 9.4 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H 9.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L 9.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H 9.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H 9.6 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 9.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N 9.6 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:H 9.6 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H 9.6 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 9.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N 9.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:H 9.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H 9.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H 9.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L 9.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:H 9.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 9.9 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 9.9 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L 9.9 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:H 9.9 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L 9.9 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:H 9.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 9.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L 9.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:H 9.9 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L 9.9 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:L 9.9 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:H 10.0 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 10.0 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L 10.0 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N 10.0 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:H 10.0 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:H 10.0 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:H 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:H 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:H CVSS-1.14/t/20-cli.t0000644000175000017500000000241514653446255012657 0ustar peppepeppe#!perl -T use strict; use warnings; use Test::More; use JSON::PP qw(decode_json); use App::CVSS; sub cmd { my ($class, @arguments) = @_; my $output; open(my $output_handle, '>', \$output) or die "Can't open handle file: $!"; my $original_handle = select $output_handle; $class->run(@arguments); chomp $output; select $original_handle; return $output; } my $vector_string = 'CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H'; subtest "App::CVSS - '$vector_string' (JSON output)" => sub { my $test_1 = cmd('App::CVSS', $vector_string, '--json'); ok($test_1, 'Parse CVSS vector string and encode in JSON'); my $test_2 = eval { decode_json($test_1) }; ok($test_2, 'Valid JSON output'); is($test_2->{vectorString}, $vector_string, 'Vector String'); is($test_2->{baseSeverity}, 'HIGH', 'Base Severity'); is($test_2->{baseScore}, '7.4', 'Base Score'); }; subtest "App::CVSS - '$vector_string' (XML output)" => sub { my $test_1 = cmd('App::CVSS', $vector_string, '--xml'); ok($test_1, 'Parse CVSS vector and encode in XML'); like($test_1, qr{7.4}, 'Base Score'); like($test_1, qr{HIGH}, 'Base Severity'); }; done_testing(); CVSS-1.14/t/10-cvss2.t0000644000175000017500000002706614654254042013150 0ustar peppepeppe#!perl use v5.10; use Test::More; use CVSS::v2; while (my $line = ) { chomp($line); my ($base_score, $vector_string) = split /\s+/, $line; my $cvss = CVSS::v2->from_vector_string($vector_string); cmp_ok($cvss->base_score, '==', $base_score, "$base_score --> $vector_string"); cmp_ok($cvss->to_vector_string, 'eq', $vector_string, "$vector_string"); } done_testing(); __DATA__ 0.0 AV:L/AC:L/Au:N/C:N/I:N/A:N 0.0 AV:N/AC:L/Au:N/C:N/I:N/A:N 0.0 AV:N/AC:M/Au:S/C:N/I:N/A:N 0.8 AV:L/AC:H/Au:M/C:P/I:N/A:N 1.0 AV:L/AC:H/Au:S/C:N/I:N/A:P 1.0 AV:L/AC:H/Au:S/C:N/I:P/A:N 1.0 AV:L/AC:H/Au:S/C:P/I:N/A:N 1.2 AV:L/AC:H/Au:N/C:N/I:N/A:P 1.2 AV:L/AC:H/Au:N/C:N/I:P/A:N 1.2 AV:L/AC:H/Au:N/C:P/I:N/A:N 1.3 AV:L/AC:M/Au:M/C:P/I:N/A:N 1.4 AV:A/AC:H/Au:S/C:N/I:N/A:P 1.4 AV:A/AC:H/Au:S/C:P/I:N/A:N 1.4 AV:L/AC:L/Au:M/C:N/I:P/A:N 1.4 AV:L/AC:L/Au:M/C:P/I:N/A:N 1.5 AV:L/AC:M/Au:S/C:N/I:N/A:P 1.5 AV:L/AC:M/Au:S/C:N/I:P/A:N 1.5 AV:L/AC:M/Au:S/C:P/I:N/A:N 1.7 AV:L/AC:L/Au:S/C:N/I:N/A:P 1.7 AV:L/AC:L/Au:S/C:N/I:P/A:N 1.7 AV:L/AC:L/Au:S/C:P/I:N/A:N 1.7 AV:N/AC:H/Au:M/C:N/I:N/A:P 1.7 AV:N/AC:H/Au:M/C:N/I:P/A:N 1.7 AV:N/AC:H/Au:M/C:P/I:N/A:N 1.8 AV:A/AC:H/Au:N/C:N/I:N/A:P 1.8 AV:A/AC:H/Au:N/C:N/I:P/A:N 1.8 AV:A/AC:H/Au:N/C:P/I:N/A:N 1.9 AV:L/AC:M/Au:N/C:N/I:N/A:P 1.9 AV:L/AC:M/Au:N/C:N/I:P/A:N 1.9 AV:L/AC:M/Au:N/C:P/I:N/A:N 2.1 AV:L/AC:L/Au:N/C:N/I:N/A:P 2.1 AV:L/AC:L/Au:N/C:N/I:P/A:N 2.1 AV:L/AC:L/Au:N/C:P/I:N/A:N 2.1 AV:N/AC:H/Au:S/C:N/I:N/A:P 2.1 AV:N/AC:H/Au:S/C:N/I:P/A:N 2.1 AV:N/AC:H/Au:S/C:P/I:N/A:N 2.3 AV:A/AC:M/Au:S/C:N/I:N/A:P 2.3 AV:A/AC:M/Au:S/C:N/I:P/A:N 2.3 AV:A/AC:M/Au:S/C:P/I:N/A:N 2.4 AV:L/AC:H/Au:S/C:N/I:P/A:P 2.4 AV:L/AC:H/Au:S/C:P/I:N/A:P 2.4 AV:L/AC:H/Au:S/C:P/I:P/A:N 2.6 AV:L/AC:H/Au:N/C:N/I:P/A:P 2.6 AV:L/AC:H/Au:N/C:P/I:N/A:P 2.6 AV:L/AC:H/Au:N/C:P/I:P/A:N 2.6 AV:N/AC:H/Au:N/C:N/I:N/A:P 2.6 AV:N/AC:H/Au:N/C:N/I:P/A:N 2.6 AV:N/AC:H/Au:N/C:P/I:N/A:N 2.7 AV:A/AC:H/Au:M/C:N/I:P/A:P 2.7 AV:A/AC:L/Au:S/C:N/I:N/A:P 2.7 AV:A/AC:L/Au:S/C:N/I:P/A:N 2.7 AV:A/AC:L/Au:S/C:P/I:N/A:N 2.7 AV:L/AC:M/Au:M/C:N/I:P/A:P 2.8 AV:N/AC:M/Au:M/C:N/I:N/A:P 2.8 AV:N/AC:M/Au:M/C:N/I:P/A:N 2.8 AV:N/AC:M/Au:M/C:P/I:N/A:N 2.9 AV:A/AC:H/Au:S/C:P/I:N/A:P 2.9 AV:A/AC:M/Au:N/C:N/I:N/A:P 2.9 AV:A/AC:M/Au:N/C:N/I:P/A:N 2.9 AV:A/AC:M/Au:N/C:P/I:N/A:N 3.0 AV:L/AC:M/Au:S/C:N/I:P/A:P 3.0 AV:L/AC:M/Au:S/C:P/I:P/A:N 3.2 AV:A/AC:H/Au:N/C:P/I:N/A:P 3.2 AV:A/AC:H/Au:N/C:P/I:P/A:N 3.2 AV:L/AC:L/Au:S/C:N/I:P/A:P 3.2 AV:L/AC:L/Au:S/C:P/I:N/A:P 3.2 AV:L/AC:L/Au:S/C:P/I:P/A:N 3.2 AV:N/AC:H/Au:M/C:P/I:P/A:N 3.3 AV:A/AC:L/Au:N/C:N/I:N/A:P 3.3 AV:A/AC:L/Au:N/C:N/I:P/A:N 3.3 AV:A/AC:L/Au:N/C:P/I:N/A:N 3.3 AV:L/AC:M/Au:N/C:N/I:P/A:P 3.3 AV:L/AC:M/Au:N/C:P/I:N/A:P 3.3 AV:L/AC:M/Au:N/C:P/I:P/A:N 3.3 AV:N/AC:L/Au:M/C:N/I:N/A:P 3.3 AV:N/AC:L/Au:M/C:N/I:P/A:N 3.3 AV:N/AC:L/Au:M/C:P/I:N/A:N 3.4 AV:L/AC:H/Au:M/C:P/I:P/A:P 3.5 AV:L/AC:H/Au:S/C:P/I:P/A:P 3.5 AV:N/AC:M/Au:S/C:N/I:N/A:P 3.5 AV:N/AC:M/Au:S/C:N/I:P/A:N 3.5 AV:N/AC:M/Au:S/C:P/I:N/A:N 3.6 AV:L/AC:L/Au:N/C:N/I:P/A:P 3.6 AV:L/AC:L/Au:N/C:P/I:N/A:P 3.6 AV:L/AC:L/Au:N/C:P/I:P/A:N 3.6 AV:N/AC:H/Au:S/C:N/I:P/A:P 3.6 AV:N/AC:H/Au:S/C:P/I:N/A:P 3.6 AV:N/AC:H/Au:S/C:P/I:P/A:N 3.7 AV:A/AC:H/Au:M/C:P/I:P/A:P 3.7 AV:A/AC:L/Au:M/C:N/I:P/A:P 3.7 AV:L/AC:H/Au:M/C:N/I:N/A:C 3.7 AV:L/AC:H/Au:N/C:P/I:P/A:P 3.8 AV:A/AC:M/Au:S/C:N/I:P/A:P 3.8 AV:A/AC:M/Au:S/C:P/I:N/A:P 3.8 AV:A/AC:M/Au:S/C:P/I:P/A:N 3.8 AV:L/AC:H/Au:S/C:C/I:N/A:N 3.8 AV:L/AC:H/Au:S/C:N/I:C/A:N 3.8 AV:L/AC:H/Au:S/C:N/I:N/A:C 4.0 AV:A/AC:H/Au:S/C:P/I:P/A:P 4.0 AV:L/AC:H/Au:N/C:C/I:N/A:N 4.0 AV:L/AC:H/Au:N/C:N/I:C/A:N 4.0 AV:L/AC:H/Au:N/C:N/I:N/A:C 4.0 AV:N/AC:H/Au:N/C:N/I:P/A:P 4.0 AV:N/AC:H/Au:N/C:P/I:N/A:P 4.0 AV:N/AC:H/Au:N/C:P/I:P/A:N 4.0 AV:N/AC:L/Au:S/C:N/I:N/A:P 4.0 AV:N/AC:L/Au:S/C:N/I:P/A:N 4.0 AV:N/AC:L/Au:S/C:P/I:N/A:N 4.1 AV:A/AC:L/Au:S/C:N/I:P/A:P 4.1 AV:A/AC:L/Au:S/C:P/I:N/A:P 4.1 AV:A/AC:L/Au:S/C:P/I:P/A:N 4.1 AV:L/AC:M/Au:M/C:N/I:N/A:C 4.1 AV:L/AC:M/Au:S/C:P/I:P/A:P 4.3 AV:A/AC:H/Au:N/C:P/I:P/A:P 4.3 AV:A/AC:H/Au:S/C:C/I:N/A:N 4.3 AV:A/AC:H/Au:S/C:N/I:N/A:C 4.3 AV:A/AC:M/Au:N/C:N/I:P/A:P 4.3 AV:A/AC:M/Au:N/C:P/I:N/A:P 4.3 AV:A/AC:M/Au:N/C:P/I:P/A:N 4.3 AV:L/AC:L/Au:M/C:N/I:N/A:C 4.3 AV:L/AC:L/Au:S/C:P/I:P/A:P 4.3 AV:N/AC:H/Au:M/C:P/I:P/A:P 4.3 AV:N/AC:M/Au:M/C:N/I:P/A:P 4.3 AV:N/AC:M/Au:M/C:P/I:P/A:N 4.3 AV:N/AC:M/Au:N/C:N/I:N/A:P 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N 4.3 AV:N/AC:M/Au:N/C:P/I:N/A:N 4.4 AV:L/AC:M/Au:N/C:P/I:P/A:P 4.4 AV:L/AC:M/Au:S/C:C/I:N/A:N 4.4 AV:L/AC:M/Au:S/C:N/I:N/A:C 4.6 AV:A/AC:H/Au:N/C:N/I:N/A:C 4.6 AV:L/AC:L/Au:N/C:P/I:P/A:P 4.6 AV:L/AC:L/Au:S/C:C/I:N/A:N 4.6 AV:L/AC:L/Au:S/C:N/I:C/A:N 4.6 AV:L/AC:L/Au:S/C:N/I:N/A:C 4.6 AV:N/AC:H/Au:S/C:P/I:P/A:P 4.7 AV:A/AC:L/Au:M/C:P/I:P/A:P 4.7 AV:L/AC:H/Au:N/C:P/I:N/A:C 4.7 AV:L/AC:M/Au:N/C:C/I:N/A:N 4.7 AV:L/AC:M/Au:N/C:N/I:C/A:N 4.7 AV:L/AC:M/Au:N/C:N/I:N/A:C 4.7 AV:N/AC:L/Au:M/C:N/I:P/A:P 4.7 AV:N/AC:L/Au:M/C:P/I:P/A:N 4.8 AV:A/AC:L/Au:N/C:N/I:P/A:P 4.8 AV:A/AC:L/Au:N/C:P/I:N/A:P 4.8 AV:A/AC:L/Au:N/C:P/I:P/A:N 4.9 AV:A/AC:M/Au:S/C:P/I:P/A:P 4.9 AV:L/AC:H/Au:M/C:P/I:P/A:C 4.9 AV:L/AC:L/Au:N/C:C/I:N/A:N 4.9 AV:L/AC:L/Au:N/C:N/I:C/A:N 4.9 AV:L/AC:L/Au:N/C:N/I:N/A:C 4.9 AV:N/AC:H/Au:S/C:C/I:N/A:N 4.9 AV:N/AC:H/Au:S/C:N/I:N/A:C 4.9 AV:N/AC:M/Au:S/C:N/I:P/A:P 4.9 AV:N/AC:M/Au:S/C:P/I:N/A:P 4.9 AV:N/AC:M/Au:S/C:P/I:P/A:N 5.0 AV:A/AC:L/Au:M/C:N/I:N/A:C 5.0 AV:N/AC:L/Au:N/C:N/I:N/A:P 5.0 AV:N/AC:L/Au:N/C:N/I:P/A:N 5.0 AV:N/AC:L/Au:N/C:P/I:N/A:N 5.1 AV:N/AC:H/Au:N/C:P/I:P/A:P 5.2 AV:A/AC:L/Au:S/C:P/I:P/A:P 5.2 AV:A/AC:M/Au:S/C:C/I:N/A:N 5.2 AV:A/AC:M/Au:S/C:N/I:N/A:C 5.2 AV:L/AC:H/Au:N/C:P/I:P/A:C 5.2 AV:L/AC:L/Au:S/C:C/I:N/A:P 5.2 AV:L/AC:L/Au:S/C:N/I:P/A:C 5.3 AV:A/AC:H/Au:N/C:C/I:P/A:N 5.4 AV:A/AC:M/Au:N/C:P/I:P/A:P 5.4 AV:L/AC:M/Au:N/C:C/I:N/A:P 5.4 AV:L/AC:M/Au:N/C:C/I:P/A:N 5.4 AV:L/AC:M/Au:N/C:N/I:P/A:C 5.4 AV:L/AC:M/Au:N/C:P/I:C/A:N 5.4 AV:L/AC:M/Au:N/C:P/I:N/A:C 5.4 AV:N/AC:H/Au:N/C:C/I:N/A:N 5.4 AV:N/AC:H/Au:N/C:N/I:C/A:N 5.4 AV:N/AC:H/Au:N/C:N/I:N/A:C 5.4 AV:N/AC:M/Au:M/C:P/I:P/A:P 5.5 AV:A/AC:H/Au:S/C:P/I:P/A:C 5.5 AV:A/AC:L/Au:S/C:C/I:N/A:N 5.5 AV:A/AC:L/Au:S/C:N/I:N/A:C 5.5 AV:L/AC:H/Au:S/C:C/I:C/A:N 5.5 AV:L/AC:H/Au:S/C:N/I:C/A:C 5.5 AV:L/AC:M/Au:S/C:P/I:P/A:C 5.5 AV:N/AC:L/Au:S/C:N/I:P/A:P 5.5 AV:N/AC:L/Au:S/C:P/I:N/A:P 5.5 AV:N/AC:L/Au:S/C:P/I:P/A:N 5.6 AV:L/AC:H/Au:N/C:C/I:C/A:N 5.6 AV:L/AC:H/Au:N/C:C/I:N/A:C 5.6 AV:L/AC:H/Au:N/C:N/I:C/A:C 5.6 AV:L/AC:L/Au:N/C:C/I:N/A:P 5.6 AV:L/AC:L/Au:N/C:C/I:P/A:N 5.6 AV:L/AC:L/Au:N/C:N/I:P/A:C 5.6 AV:L/AC:L/Au:N/C:P/I:C/A:N 5.6 AV:L/AC:L/Au:N/C:P/I:N/A:C 5.6 AV:N/AC:H/Au:S/C:N/I:P/A:C 5.7 AV:A/AC:M/Au:N/C:C/I:N/A:N 5.7 AV:A/AC:M/Au:N/C:N/I:C/A:N 5.7 AV:A/AC:M/Au:N/C:N/I:N/A:C 5.7 AV:L/AC:L/Au:S/C:P/I:P/A:C 5.7 AV:N/AC:M/Au:M/C:N/I:N/A:C 5.8 AV:A/AC:H/Au:N/C:P/I:P/A:C 5.8 AV:A/AC:L/Au:N/C:P/I:P/A:P 5.8 AV:A/AC:M/Au:S/C:N/I:P/A:C 5.8 AV:A/AC:M/Au:S/C:P/I:N/A:C 5.8 AV:N/AC:L/Au:M/C:P/I:P/A:P 5.8 AV:N/AC:M/Au:N/C:N/I:P/A:P 5.8 AV:N/AC:M/Au:N/C:P/I:N/A:P 5.8 AV:N/AC:M/Au:N/C:P/I:P/A:N 5.9 AV:L/AC:H/Au:M/C:C/I:C/A:C 5.9 AV:L/AC:H/Au:N/C:C/I:C/A:P 5.9 AV:L/AC:M/Au:N/C:C/I:P/A:P 5.9 AV:L/AC:M/Au:N/C:P/I:P/A:C 6.0 AV:L/AC:H/Au:S/C:C/I:C/A:C 6.0 AV:L/AC:M/Au:S/C:C/I:C/A:N 6.0 AV:L/AC:M/Au:S/C:N/I:C/A:C 6.0 AV:N/AC:M/Au:S/C:P/I:P/A:P 6.1 AV:A/AC:L/Au:N/C:C/I:N/A:N 6.1 AV:A/AC:L/Au:N/C:N/I:C/A:N 6.1 AV:A/AC:L/Au:N/C:N/I:N/A:C 6.1 AV:L/AC:L/Au:N/C:C/I:P/A:P 6.1 AV:L/AC:L/Au:N/C:P/I:C/A:P 6.1 AV:L/AC:L/Au:N/C:P/I:P/A:C 6.1 AV:N/AC:H/Au:N/C:C/I:P/A:N 6.1 AV:N/AC:H/Au:N/C:N/I:P/A:C 6.1 AV:N/AC:H/Au:S/C:C/I:P/A:P 6.1 AV:N/AC:H/Au:S/C:P/I:P/A:C 6.1 AV:N/AC:L/Au:M/C:N/I:N/A:C 6.2 AV:A/AC:H/Au:N/C:C/I:N/A:C 6.2 AV:A/AC:L/Au:S/C:N/I:P/A:C 6.2 AV:L/AC:H/Au:N/C:C/I:C/A:C 6.2 AV:L/AC:L/Au:S/C:C/I:C/A:N 6.2 AV:L/AC:L/Au:S/C:N/I:C/A:C 6.3 AV:A/AC:M/Au:S/C:P/I:P/A:C 6.3 AV:L/AC:M/Au:M/C:C/I:C/A:C 6.3 AV:L/AC:M/Au:N/C:C/I:C/A:N 6.3 AV:L/AC:M/Au:N/C:C/I:N/A:C 6.3 AV:L/AC:M/Au:N/C:N/I:C/A:C 6.3 AV:N/AC:M/Au:S/C:C/I:N/A:N 6.3 AV:N/AC:M/Au:S/C:N/I:C/A:N 6.3 AV:N/AC:M/Au:S/C:N/I:N/A:C 6.4 AV:A/AC:M/Au:N/C:N/I:P/A:C 6.4 AV:N/AC:L/Au:N/C:N/I:P/A:P 6.4 AV:N/AC:L/Au:N/C:P/I:N/A:P 6.4 AV:N/AC:L/Au:N/C:P/I:P/A:N 6.5 AV:A/AC:H/Au:S/C:C/I:C/A:C 6.5 AV:L/AC:L/Au:M/C:C/I:C/A:C 6.5 AV:N/AC:L/Au:S/C:P/I:P/A:P 6.6 AV:L/AC:L/Au:N/C:C/I:C/A:N 6.6 AV:L/AC:L/Au:N/C:C/I:N/A:C 6.6 AV:L/AC:L/Au:N/C:N/I:C/A:C 6.6 AV:L/AC:M/Au:N/C:C/I:C/A:P 6.6 AV:L/AC:M/Au:N/C:C/I:P/A:C 6.6 AV:L/AC:M/Au:N/C:P/I:C/A:C 6.6 AV:L/AC:M/Au:S/C:C/I:C/A:C 6.6 AV:N/AC:H/Au:N/C:P/I:P/A:C 6.6 AV:N/AC:H/Au:S/C:C/I:C/A:N 6.6 AV:N/AC:H/Au:S/C:C/I:N/A:C 6.6 AV:N/AC:H/Au:S/C:N/I:C/A:C 6.7 AV:A/AC:L/Au:S/C:C/I:P/A:P 6.7 AV:A/AC:L/Au:S/C:P/I:P/A:C 6.8 AV:A/AC:H/Au:N/C:C/I:C/A:C 6.8 AV:A/AC:L/Au:N/C:N/I:P/A:C 6.8 AV:A/AC:L/Au:N/C:P/I:N/A:C 6.8 AV:L/AC:L/Au:N/C:C/I:C/A:P 6.8 AV:L/AC:L/Au:N/C:C/I:P/A:C 6.8 AV:L/AC:L/Au:N/C:P/I:C/A:C 6.8 AV:L/AC:L/Au:S/C:C/I:C/A:C 6.8 AV:N/AC:H/Au:M/C:C/I:C/A:C 6.8 AV:N/AC:H/Au:S/C:C/I:C/A:P 6.8 AV:N/AC:L/Au:S/C:C/I:N/A:N 6.8 AV:N/AC:L/Au:S/C:N/I:C/A:N 6.8 AV:N/AC:L/Au:S/C:N/I:N/A:C 6.8 AV:N/AC:M/Au:N/C:P/I:P/A:P 6.9 AV:A/AC:M/Au:N/C:C/I:P/A:P 6.9 AV:L/AC:M/Au:N/C:C/I:C/A:C 7.0 AV:N/AC:M/Au:S/C:C/I:P/A:N 7.0 AV:N/AC:M/Au:S/C:N/I:P/A:C 7.0 AV:N/AC:M/Au:S/C:P/I:C/A:N 7.0 AV:N/AC:M/Au:S/C:P/I:N/A:C 7.1 AV:A/AC:L/Au:S/C:C/I:C/A:N 7.1 AV:A/AC:L/Au:S/C:C/I:N/A:C 7.1 AV:N/AC:H/Au:N/C:C/I:C/A:N 7.1 AV:N/AC:H/Au:N/C:C/I:N/A:C 7.1 AV:N/AC:H/Au:N/C:N/I:C/A:C 7.1 AV:N/AC:H/Au:S/C:C/I:C/A:C 7.1 AV:N/AC:M/Au:N/C:C/I:N/A:N 7.1 AV:N/AC:M/Au:N/C:N/I:C/A:N 7.1 AV:N/AC:M/Au:N/C:N/I:N/A:C 7.2 AV:A/AC:L/Au:M/C:C/I:C/A:C 7.2 AV:L/AC:L/Au:N/C:C/I:C/A:C 7.3 AV:A/AC:L/Au:N/C:P/I:P/A:C 7.3 AV:A/AC:M/Au:N/C:C/I:C/A:N 7.3 AV:A/AC:M/Au:N/C:C/I:N/A:C 7.3 AV:A/AC:M/Au:N/C:N/I:C/A:C 7.3 AV:N/AC:H/Au:N/C:C/I:C/A:P 7.3 AV:N/AC:H/Au:N/C:C/I:P/A:C 7.4 AV:A/AC:L/Au:S/C:C/I:C/A:P 7.4 AV:A/AC:M/Au:S/C:C/I:C/A:C 7.5 AV:N/AC:L/Au:N/C:P/I:P/A:P 7.5 AV:N/AC:L/Au:S/C:C/I:N/A:P 7.5 AV:N/AC:L/Au:S/C:C/I:P/A:N 7.5 AV:N/AC:L/Au:S/C:N/I:C/A:P 7.5 AV:N/AC:L/Au:S/C:N/I:P/A:C 7.5 AV:N/AC:L/Au:S/C:P/I:C/A:N 7.5 AV:N/AC:L/Au:S/C:P/I:N/A:C 7.5 AV:N/AC:M/Au:S/C:C/I:P/A:P 7.5 AV:N/AC:M/Au:S/C:P/I:P/A:C 7.6 AV:A/AC:M/Au:N/C:C/I:C/A:P 7.6 AV:A/AC:M/Au:N/C:C/I:P/A:C 7.6 AV:A/AC:M/Au:N/C:P/I:C/A:C 7.6 AV:N/AC:H/Au:N/C:C/I:C/A:C 7.7 AV:A/AC:L/Au:S/C:C/I:C/A:C 7.7 AV:N/AC:L/Au:M/C:C/I:C/A:N 7.8 AV:A/AC:L/Au:N/C:C/I:C/A:N 7.8 AV:A/AC:L/Au:N/C:N/I:C/A:C 7.8 AV:N/AC:L/Au:N/C:C/I:N/A:N 7.8 AV:N/AC:L/Au:N/C:N/I:C/A:N 7.8 AV:N/AC:L/Au:N/C:N/I:N/A:C 7.8 AV:N/AC:M/Au:N/C:C/I:P/A:N 7.8 AV:N/AC:M/Au:N/C:N/I:P/A:C 7.8 AV:N/AC:M/Au:N/C:P/I:C/A:N 7.8 AV:N/AC:M/Au:N/C:P/I:N/A:C 7.9 AV:A/AC:M/Au:N/C:C/I:C/A:C 7.9 AV:N/AC:M/Au:M/C:C/I:C/A:C 7.9 AV:N/AC:M/Au:S/C:C/I:C/A:N 7.9 AV:N/AC:M/Au:S/C:C/I:N/A:C 7.9 AV:N/AC:M/Au:S/C:N/I:C/A:C 8.0 AV:A/AC:L/Au:N/C:C/I:P/A:C 8.0 AV:A/AC:L/Au:N/C:P/I:C/A:C 8.0 AV:N/AC:L/Au:S/C:C/I:P/A:P 8.0 AV:N/AC:L/Au:S/C:P/I:C/A:P 8.0 AV:N/AC:L/Au:S/C:P/I:P/A:C 8.2 AV:N/AC:M/Au:S/C:C/I:C/A:P 8.2 AV:N/AC:M/Au:S/C:P/I:C/A:C 8.3 AV:A/AC:L/Au:N/C:C/I:C/A:C 8.3 AV:N/AC:L/Au:M/C:C/I:C/A:C 8.3 AV:N/AC:M/Au:N/C:C/I:P/A:P 8.3 AV:N/AC:M/Au:N/C:P/I:C/A:P 8.3 AV:N/AC:M/Au:N/C:P/I:P/A:C 8.5 AV:N/AC:L/Au:N/C:C/I:N/A:P 8.5 AV:N/AC:L/Au:N/C:C/I:P/A:N 8.5 AV:N/AC:L/Au:N/C:N/I:C/A:P 8.5 AV:N/AC:L/Au:N/C:N/I:P/A:C 8.5 AV:N/AC:L/Au:N/C:P/I:C/A:N 8.5 AV:N/AC:L/Au:N/C:P/I:N/A:C 8.5 AV:N/AC:L/Au:S/C:C/I:C/A:N 8.5 AV:N/AC:L/Au:S/C:C/I:N/A:C 8.5 AV:N/AC:L/Au:S/C:N/I:C/A:C 8.5 AV:N/AC:M/Au:S/C:C/I:C/A:C 8.7 AV:N/AC:L/Au:S/C:C/I:C/A:P 8.7 AV:N/AC:L/Au:S/C:C/I:P/A:C 8.7 AV:N/AC:L/Au:S/C:P/I:C/A:C 8.8 AV:N/AC:M/Au:N/C:C/I:C/A:N 8.8 AV:N/AC:M/Au:N/C:N/I:C/A:C 9.0 AV:N/AC:L/Au:N/C:C/I:P/A:P 9.0 AV:N/AC:L/Au:N/C:P/I:C/A:P 9.0 AV:N/AC:L/Au:N/C:P/I:P/A:C 9.0 AV:N/AC:L/Au:S/C:C/I:C/A:C 9.0 AV:N/AC:M/Au:N/C:C/I:P/A:C 9.0 AV:N/AC:M/Au:N/C:P/I:C/A:C 9.3 AV:N/AC:M/Au:N/C:C/I:C/A:C 9.4 AV:N/AC:L/Au:N/C:C/I:C/A:N 9.4 AV:N/AC:L/Au:N/C:C/I:N/A:C 9.4 AV:N/AC:L/Au:N/C:N/I:C/A:C 9.7 AV:N/AC:L/Au:N/C:C/I:C/A:P 9.7 AV:N/AC:L/Au:N/C:P/I:C/A:C 10.0 AV:N/AC:L/Au:N/C:C/I:C/A:C CVSS-1.14/t/10-cvss4.t0000644000175000017500000004127415032227511013137 0ustar peppepeppe#!perl use v5.10; use Test::More; use CVSS::v4; while (my $line = ) { chomp($line); my ($base_score, $vector_string) = split /\s+/, $line; my $cvss = CVSS::v4->from_vector_string($vector_string); cmp_ok($cvss->base_score, '==', $base_score, "$base_score --> $vector_string"); cmp_ok($cvss->to_vector_string, 'eq', $vector_string, "$vector_string"); } done_testing(); __DATA__ 0.0 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:N/SI:N/SA:N 1.0 CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N 1.8 CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N 1.8 CVSS:4.0/AV:N/AC:H/AT:N/PR:H/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N 2.0 CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N 2.0 CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 2.0 CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N 2.0 CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 2.1 CVSS:4.0/AV:A/AC:H/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 2.1 CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L 2.1 CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:A/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N 2.1 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N 2.3 CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N 2.3 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 4.2 CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:H/SI:L/SA:N 4.8 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 4.8 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N 4.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:L 4.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N 4.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N 4.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 4.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 4.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 4.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N 4.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N 4.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N 5.1 CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/VC:H/VI:N/VA:N/SC:L/SI:N/SA:N 5.1 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N 5.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N 5.1 CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 5.2 CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H 5.2 CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:L/SC:H/SI:H/SA:H 5.2 CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:H 5.2 CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 5.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:L/SI:L/SA:L 5.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N 5.4 CVSS:4.0/AV:A/AC:H/AT:N/PR:H/UI:A/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L 5.4 CVSS:4.0/AV:P/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 5.5 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:N/VA:N/SC:H/SI:H/SA:H 5.6 CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:A/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N 5.6 CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:A/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N 5.7 CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:P/VC:L/VI:H/VA:N/SC:L/SI:H/SA:N 5.9 CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:A/VC:H/VI:L/VA:L/SC:H/SI:L/SA:L 5.9 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N 5.9 CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N 5.9 CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:L/VI:H/VA:N/SC:L/SI:L/SA:N 5.9 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:L/SI:N/SA:N 6.0 CVSS:4.0/AV:A/AC:L/AT:P/PR:H/UI:P/VC:L/VI:H/VA:N/SC:H/SI:H/SA:H 6.0 CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L 6.0 CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 6.0 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N 6.0 CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N 6.0 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 6.0 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L 6.0 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 6.1 CVSS:4.0/AV:A/AC:H/AT:N/PR:H/UI:P/VC:H/VI:L/VA:L/SC:H/SI:H/SA:H 6.2 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:L/SI:H/SA:H 6.3 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:L 6.3 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 6.3 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N 6.3 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L 6.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:L/SC:H/SI:H/SA:L 6.3 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N 6.3 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N 6.4 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:H/SI:H/SA:H 6.7 CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N 6.8 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:L/SA:L 6.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N 6.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L 6.8 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 6.8 CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:A/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N 6.8 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H 6.8 CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:H/SC:L/SI:N/SA:H 6.8 CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L 6.9 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:L 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N 6.9 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N 7.0 CVSS:4.0/AV:A/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N 7.0 CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.0 CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.0 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.0 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N 7.0 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N 7.0 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N 7.0 CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.0 CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:N/VC:H/VI:L/VA:L/SC:H/SI:L/SA:L 7.1 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L 7.1 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H 7.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:L/VA:H/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L 7.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 7.1 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H 7.2 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:H/SC:N/SI:N/SA:N 7.2 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N 7.2 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N 7.2 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N 7.3 CVSS:4.0/AV:A/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.3 CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:H/SC:L/SI:H/SA:H 7.3 CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 7.3 CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.3 CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 7.3 CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.3 CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.3 CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 7.3 CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.3 CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 7.3 CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:H/SC:L/SI:H/SA:H 7.3 CVSS:4.0/AV:N/AC:H/AT:N/PR:H/UI:P/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N 7.3 CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:L/VI:H/VA:H/SC:L/SI:H/SA:H 7.3 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:H/SC:L/SI:H/SA:H 7.4 CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 7.5 CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.5 CVSS:4.0/AV:N/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.5 CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.7 CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.7 CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 7.7 CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.2 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H 8.2 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 8.2 CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 8.2 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 8.2 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L 8.2 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 8.3 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H 8.3 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H 8.3 CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H 8.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:L/VA:H/SC:N/SI:N/SA:H 8.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:H/SC:H/SI:L/SA:N 8.3 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N 8.4 CVSS:4.0/AV:A/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H 8.4 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:H/SC:N/SI:N/SA:H 8.4 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 8.4 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.4 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N 8.4 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N 8.4 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:H/VA:L/SC:L/SI:H/SA:L 8.5 CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H 8.5 CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:A/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L 8.5 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.5 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 8.5 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H 8.5 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.5 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 8.5 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 8.6 CVSS:4.0/AV:A/AC:L/AT:N/PR:H/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 8.6 CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.6 CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N 8.6 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.6 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.6 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 8.6 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.6 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 8.6 CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 8.7 CVSS:4.0/AV:A/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L 8.7 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.7 CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L 8.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:L 8.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N 8.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N 8.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L 8.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N 8.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L 8.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 8.7 CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 8.8 CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 8.8 CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:N/SA:H 8.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N 8.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N 8.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N 8.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N 8.8 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N 8.9 CVSS:4.0/AV:A/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 8.9 CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.0 CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.0 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.1 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 9.2 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L 9.2 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 9.2 CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 9.2 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 9.3 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.3 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:H/SA:H 9.3 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:H 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:H/SA:H 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:N 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N 9.4 CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.4 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.4 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.4 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 9.4 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L 10.0 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H 10.0 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:L 10.0 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L CVSS-1.14/t/kwalitee.t0000644000175000017500000000045014572605165013470 0ustar peppepeppe#!perl use strict; use warnings; use Test::More; unless ($ENV{RELEASE_TESTING}) { plan(skip_all => "these tests are for release candidate testing"); } eval "use Test::Kwalitee 'kwalitee_ok'"; plan skip_all => 'Test::Kwalitee required to test kwalitee' if $@; kwalitee_ok(); done_testing; CVSS-1.14/t/pod.t0000644000175000017500000000052014572605165012443 0ustar peppepeppe#!perl -T use strict; use warnings; use Test::More; unless ($ENV{RELEASE_TESTING}) { plan(skip_all => "Author tests not required for installation"); } # Ensure a recent version of Test::Pod my $min_tp = 1.22; eval "use Test::Pod $min_tp"; plan skip_all => "Test::Pod $min_tp required for testing POD" if $@; all_pod_files_ok(); CVSS-1.14/t/00-load.t0000644000175000017500000000027514650307534013020 0ustar peppepeppe#!perl use strict; use warnings; use Test::More; use_ok('CVSS'); use_ok('CVSS::v2'); use_ok('CVSS::v3'); use_ok('CVSS::v4'); done_testing(); diag("CVSS $CVSS::VERSION, Perl $], $^X"); CVSS-1.14/t/11-builder.t0000644000175000017500000000361414651735114013531 0ustar peppepeppe#!perl use v5.10; use Test::More; use CVSS::v3; my $base_score = 7.4; my $vector_string = 'CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H'; my $cvss = CVSS::v3->new(version => '3.1'); $cvss->attackVector('ADJACENT_NETWORK'); $cvss->attackComplexity('LOW'); $cvss->privilegesRequired('LOW'); $cvss->userInteraction('REQUIRED'); $cvss->scope('UNCHANGED'); $cvss->confidentialityImpact('HIGH'); $cvss->integrityImpact('HIGH'); $cvss->availabilityImpact('HIGH'); $cvss->calculate_score(); cmp_ok($cvss->base_score, '==', $base_score, "Check base score ($base_score)"); cmp_ok($cvss->to_vector_string, 'eq', $vector_string, "Check vector string ($vector_string)"); cmp_ok($cvss->attackVector, 'eq', 'ADJACENT_NETWORK', 'Check attackVector value'); cmp_ok($cvss->attackComplexity, 'eq', 'LOW', 'Check attackComplexity value'); cmp_ok($cvss->privilegesRequired, 'eq', 'LOW', 'Check privilegesRequired value'); cmp_ok($cvss->userInteraction, 'eq', 'REQUIRED', 'Check userInteraction value'); cmp_ok($cvss->scope, 'eq', 'UNCHANGED', 'Check scope value'); cmp_ok($cvss->confidentialityImpact, 'eq', 'HIGH', 'Check confidentialityImpact value'); cmp_ok($cvss->integrityImpact, 'eq', 'HIGH', 'Check integrityImpact value'); cmp_ok($cvss->availabilityImpact, 'eq', 'HIGH', 'Check availabilityImpact value'); cmp_ok($cvss->M('AV'), 'eq', 'A', 'Check AV metric value'); cmp_ok($cvss->M('AC'), 'eq', 'L', 'Check AC metric value'); cmp_ok($cvss->M('PR'), 'eq', 'L', 'Check PR metric value'); cmp_ok($cvss->M('UI'), 'eq', 'R', 'Check UI metric value'); cmp_ok($cvss->M('S'), 'eq', 'U', 'Check S metric value'); cmp_ok($cvss->M('C'), 'eq', 'H', 'Check C metric value'); cmp_ok($cvss->M('I'), 'eq', 'H', 'Check I metric value'); cmp_ok($cvss->M('A'), 'eq', 'H', 'Check A metric value'); done_testing(); CVSS-1.14/t/manifest.t0000644000175000017500000000045214572605164013472 0ustar peppepeppe#!perl -T use strict; use warnings; use Test::More; unless ($ENV{RELEASE_TESTING}) { plan(skip_all => "Author tests not required for installation"); } my $min_tcm = 0.9; eval "use Test::CheckManifest $min_tcm"; plan skip_all => "Test::CheckManifest $min_tcm required" if $@; ok_manifest(); CVSS-1.14/t/pod-coverage.t0000644000175000017500000000122214572605164014233 0ustar peppepeppe#!perl -T use strict; use warnings; use Test::More; unless ($ENV{RELEASE_TESTING}) { plan(skip_all => "Author tests not required for installation"); } # Ensure a recent version of Test::Pod::Coverage my $min_tpc = 1.08; eval "use Test::Pod::Coverage $min_tpc"; plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage" if $@; # Test::Pod::Coverage doesn't require a minimum Pod::Coverage version, # but older versions don't recognize some common documentation styles my $min_pc = 0.18; eval "use Pod::Coverage $min_pc"; plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage" if $@; all_pod_coverage_ok(); CVSS-1.14/README.md0000644000175000017500000001217614652772072012523 0ustar peppepeppe[![Release](https://img.shields.io/github/release/giterlizzi/perl-CVSS.svg)](https://github.com/giterlizzi/perl-CVSS/releases) [![Actions Status](https://github.com/giterlizzi/perl-CVSS/workflows/linux/badge.svg)](https://github.com/giterlizzi/perl-CVSS/actions) [![License](https://img.shields.io/github/license/giterlizzi/perl-CVSS.svg)](https://github.com/giterlizzi/perl-CVSS) [![Starts](https://img.shields.io/github/stars/giterlizzi/perl-CVSS.svg)](https://github.com/giterlizzi/perl-CVSS) [![Forks](https://img.shields.io/github/forks/giterlizzi/perl-CVSS.svg)](https://github.com/giterlizzi/perl-CVSS) [![Issues](https://img.shields.io/github/issues/giterlizzi/perl-CVSS.svg)](https://github.com/giterlizzi/perl-CVSS/issues) [![Coverage Status](https://coveralls.io/repos/github/giterlizzi/perl-CVSS/badge.svg)](https://coveralls.io/github/giterlizzi/perl-CVSS) # CVSS - Perl extension for CVSS (Common Vulnerability Scoring System) 2.0/3.x/4.0 ## Synopsis ```.pl use CVSS; # OO-interface # Method 1 - Use params $cvss = CVSS->new( version => '3.1', metrics => { AV => 'A', AC => 'L', PR => 'L', UI => 'R', S => 'U', C => 'H', I => 'H', A => 'H', } ); # Method 2 - Decode and parse the vector string use CVSS; $cvss = CVSS->from_vector_string('CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H'); say $cvss->base_score; # 7.4 # Method 3 - Builder use CVSS; $cvss = CVSS->new(version => '3.1'); $cvss->attackVector('ADJACENT_NETWORK'); $cvss->attackComplexity('LOW'); $cvss->privilegesRequired('LOW'); $cvss->userInteraction('REQUIRED'); $cvss->scope('UNCHANGED'); $cvss->confidentialityImpact('HIGH'); $cvss->integrityImpact('HIGH'); $cvss->availabilityImpact('HIGH'); $cvss->calculate_score; # Common methods # Convert the CVSS object in "vector string" say $cvss; # CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H # Get metric value say $cvss->AV; # A say $cvss->attackVector; # ADJACENT_NETWORK # Get the base score say $cvss->base_score; # 7.4 # Get all scores say Dumper($cvss->scores); # { "base" => "7.4", # "exploitability" => "1.6", # "impact" => "5.9" } # Get the base severity say $cvss->base_severity # HIGH # Convert CVSS in XML in according of CVSS XML Schema Definition $xml = $cvss->to_xml; # Convert CVSS in JSON in according of CVSS JSON Schema $json = encode_json($cvss); # exported functions use CVSS qw(decode_cvss encode_cvss) $cvss = decode_cvss('CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H'); say $cvss->base_score; # 7.4 $vector_string = encode_cvss(version => '3.1', metrics => {...}); say $cvss_string; # CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H ``` ## cvss command-line-interface Get the base score: ```console $ cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --base-score 7.4 ``` Get the base severity: ```console $ cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --base-severity HIGH ``` Parses the provided vector string and returns the JSON representation: ```console $ cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --json | jq { "attackComplexity": "LOW", "attackVector": "ADJACENT_NETWORK", "availabilityImpact": "HIGH", "baseScore": 7.4, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "UNCHANGED", "userInteraction": "REQUIRED", "vectorString": "CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H", "version": "3.1" } ``` Parses the provided vector string and returns the XML representation: ```console $ cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --xml ADJACENT_NETWORK LOW LOW REQUIRED UNCHANGED HIGH HIGH HIGH 7.4 HIGH ``` ## Install Using Makefile.PL: To install `CVSS` distribution, run the following commands. perl Makefile.PL make make test make install Using `App::cpanminus`: cpanm CVSS ## Documentation - `perldoc CVSS` - https://metacpan.org/release/CVSS - [FIRST] CVSS Data Representations (https://www.first.org/cvss/data-representations) - [FIRST] CVSS v4.0 Specification (https://www.first.org/cvss/v4.0/specification-document) - [FIRST] CVSS v3.1 Specification (https://www.first.org/cvss/v3.1/specification-document) - [FIRST] CVSS v3.0 Specification (https://www.first.org/cvss/v3.0/specification-document) - [FIRST] CVSS v2.0 Complete Guide (https://www.first.org/cvss/v2/guide) ## Copyright - Copyright 2007-2024 © FIRST.org - Forum of Incident Response and Security Teams, Inc. - Copyright 2023-2024 © Giuseppe Di Terlizzi CVSS-1.14/META.json0000644000175000017500000000261515032254715012652 0ustar peppepeppe{ "abstract" : "unknown", "author" : [ "Giuseppe Di Terlizzi " ], "dynamic_config" : 1, "generated_by" : "ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter version 2.150010", "license" : [ "artistic_2" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : 2 }, "name" : "CVSS", "no_index" : { "directory" : [ "t", "inc" ] }, "prereqs" : { "build" : { "requires" : { "ExtUtils::MakeMaker" : "0" } }, "configure" : { "requires" : { "ExtUtils::MakeMaker" : "0" } }, "runtime" : { "requires" : { "JSON::PP" : "0", "List::Util" : "0", "perl" : "5.010" } }, "test" : { "requires" : { "JSON::PP" : "0", "Test::More" : "0" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/giterlizzi/perl-CVSS/issues" }, "repository" : { "type" : "git", "url" : "git://github.com/giterlizzi/perl-CVSS", "web" : "https://github.com/giterlizzi/perl-CVSS" } }, "version" : "1.14", "x_purl" : "pkg:cpan/GDT/CVSS", "x_serialization_backend" : "JSON::PP version 4.16" } CVSS-1.14/Changes0000644000175000017500000000110415032254316012511 0ustar peppepeppeChange history for CVSS 1.14 2025-07-05 - FIX "Possible precedence problem between ! and %s" in Perl 5.42 1.13 2024-08-16 - Return undef in "to_vector_string" if any of "base" metrics is missing 1.12 2024-08-07 - Improved documentation - Removed use of "List::Util::any" for old Perl versions (giterlizzi/perl-CVSS#3) 1.11 2024-08-03 - Added pure-Perl implementation of C99 "round()" function (giterlizzi/perl-CVSS#1) 1.10 2024-08-01 - Improved cvss(1) command and added new "score" methods in CVSS::Base 1.00 2024-07-31 - First release of CVSS CVSS-1.14/LICENSE0000644000175000017500000002141314267754747012256 0ustar peppepeppe The Artistic License 2.0 Copyright (c) 2000-2006, The Perl Foundation. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed. The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software. You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement. Definitions "Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package. "Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures. "You" and "your" means any person who would like to copy, distribute, or modify the Package. "Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version. "Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization. "Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees. "Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder. "Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder. "Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future. "Source" form means the source code, documentation source, and configuration files for the Package. "Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form. Permission for Use and Modification Without Distribution (1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version. Permissions for Redistribution of the Standard Version (2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package. (3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License. Distribution of Modified Versions of the Package as Source (4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following: (a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version. (b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version. (c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under (i) the Original License or (ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed. Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source (5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license. (6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version. Aggregating or Linking the Package (7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation. (8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package. Items That are Not Considered Part of a Modified Version (9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license. General Provisions (10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license. (11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license. (12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder. (13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed. (14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. CVSS-1.14/lib/0000755000175000017500000000000015032254714011772 5ustar peppepeppeCVSS-1.14/lib/CVSS.pm0000644000175000017500000001500415032254057013106 0ustar peppepeppepackage CVSS; use feature ':5.10'; use strict; use utf8; use warnings; use Carp (); use Exporter qw(import); use constant DEBUG => $ENV{CVSS_DEBUG}; use CVSS::v2 (); use CVSS::v3 (); use CVSS::v4 (); our @EXPORT = qw(encode_cvss decode_cvss cvss_to_xml); our $VERSION = '1.14'; $VERSION =~ tr/_//d; ## no critic my $CVSS_CLASSES = {'2.0' => 'CVSS::v2', '3.0' => 'CVSS::v3', '3.1' => 'CVSS::v3', '4.0' => 'CVSS::v4'}; sub encode_cvss { __PACKAGE__->new(@_)->to_string } sub decode_cvss { __PACKAGE__->from_vector_string(shift) } sub cvss_to_xml { @_ > 1 ? __PACKAGE__->new(@_)->to_xml : __PACKAGE__->from_vector_string(shift)->to_xml } sub new { my ($class, %params) = @_; Carp::croak 'Missing CVSS version' unless $params{version}; my $cvss_class = $CVSS_CLASSES->{$params{version}} or Carp::croak 'Unknown CVSS version'; return $cvss_class->new(%params); } sub from_vector_string { my ($class, $vector_string) = @_; my %metrics = split /[\/:]/, $vector_string; my $version = delete $metrics{CVSS} || '2.0'; my $cvss_class = $CVSS_CLASSES->{$version} or Carp::croak 'Unknown CVSS version'; DEBUG and say STDERR "-- CVSS v$version -- Vector String: $vector_string"; return $cvss_class->new(version => sprintf('%.1f', $version), metrics => \%metrics, vector_string => $vector_string); } 1; __END__ =head1 NAME CVSS - Perl extension for CVSS (Common Vulnerability Scoring System) 2.0/3.x/4.0 =head1 SYNOPSIS use CVSS; # OO-interface # Method 1 - Use params $cvss = CVSS->new( version => '3.1', metrics => { AV => 'A', AC => 'L', PR => 'L', UI => 'R', S => 'U', C => 'H', I => 'H', A => 'H', } ); # Method 2 - Decode and parse the vector string use CVSS; $cvss = CVSS->from_vector_string('CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H'); say $cvss->base_score; # 7.4 # Method 3 - Builder use CVSS $cvss = CVSS->new(version => '3.1'); $cvss->attackVector('ADJACENT_NETWORK'); $cvss->attackComplexity('LOW'); $cvss->privilegesRequired('LOW'); $cvss->userInteraction('REQUIRED'); $cvss->scope('UNCHANGED'); $cvss->confidentialityImpact('HIGH'); $cvss->integrityImpact('HIGH'); $cvss->availabilityImpact('HIGH'); $cvss->calculate_score; # Common methods # Convert the CVSS object in "vector string" say $cvss; # CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H # Get metric value say $cvss->AV; # A say $cvss->attackVector; # ADJACENT_NETWORK # Get the base score say $cvss->base_score; # 7.4 # Get all scores say Dumper($cvss->scores); # { "base" => "7.4", # "exploitability" => "1.6", # "impact" => "5.9" } # Get the base severity say $cvss->base_severity # HIGH # Convert CVSS in XML in according of CVSS XML Schema Definition $xml = $cvss->to_xml; # Convert CVSS in JSON in according of CVSS JSON Schema $json = encode_json($cvss); # exported functions use CVSS qw(decode_cvss encode_cvss) $cvss = decode_cvss('CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H'); say $cvss->base_score; # 7.4 $vector_string = encode_cvss(version => '3.1', metrics => {...}); say $cvss_string; # CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H =head1 DESCRIPTION This module calculates the CVSS (Common Vulnerability Scoring System) scores (basic, temporal, and environmental), convert the "vector string" and returns the L object in JSON or XML. The Common Vulnerability Scoring System (CVSS) provides a way to capture the principal characteristics of a vulnerability and produce a numerical score reflecting its severity. The numerical score can then be translated into a qualitative representation (such as low, medium, high, and critical) to help organizations properly assess and prioritize their vulnerability management processes. L =head2 FUNCTIONAL INTERFACE They are exported by default: =over =item $vector_string = encode_cvss(%params) Converts the given CVSS params to "vector string". Croaks on error. This function call is functionally identical to: $vector_string = CVSS->new(%params)->to_string; =item $cvss = decode_cvss($vector_string) Converts the given "vector string" to L. Croaks on error. This function call is functionally identical to: $cvss = CVSS->from_vector_string($vector_string); =item $xml = cvss_to_xml($vector_string) Convert the given "vector string" to XML. Croaks on error. This function call is functionally identical to: $xml = $cvss->to_xml; =back =head2 OBJECT-ORIENTED INTERFACE =over =item $cvss = CVSS->new(%params) Creates a new L instance using the provided parameters (B, B or B) and returns the CVSS subclass that matches the selected CVSS version (C<2.0>, C<3.0>, C<3.1> or C<4.0>): +--------------+----------+ | CVSS version | Class | +--------------+----------+ | 2.0 | CVSS::v2 | | 3.0 | CVSS::v3 | | 3.1 | CVSS::v3 | | 4.0 | CVSS::v4 | +--------------+----------+ =item $cvss = CVSS->from_vector_string($vector_string); Converts the given "vector string" to L. Croaks on error =back =head1 SEE ALSO L, L, L, L =over 4 =item [FIRST] CVSS Data Representations (L) =item [FIRST] CVSS v4.0 Specification (L) =item [FIRST] CVSS v3.1 Specification (L) =item [FIRST] CVSS v3.0 Specification (L) =item [FIRST] CVSS v2.0 Complete Guide (L) =back =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L git clone https://github.com/giterlizzi/perl-CVSS.git =head1 AUTHOR =over 4 =item * Giuseppe Di Terlizzi =back =head1 LICENSE AND COPYRIGHT This software is copyright (c) 2023-2025 by Giuseppe Di Terlizzi. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut CVSS-1.14/lib/CVSS/0000755000175000017500000000000015032254714012550 5ustar peppepeppeCVSS-1.14/lib/CVSS/Base.pm0000644000175000017500000003314615032254074013766 0ustar peppepeppepackage CVSS::Base; use feature ':5.10'; use strict; use utf8; use warnings; use Carp (); our $VERSION = '1.14'; $VERSION =~ tr/_//d; ## no critic use overload '""' => \&to_string, fallback => 1; use constant DEBUG => $ENV{CVSS_DEBUG}; sub import { my $class = shift; my $ATTRIBUTES = $class->ATTRIBUTES; for my $method (keys %{$ATTRIBUTES}) { no strict 'refs'; no warnings 'uninitialized'; no warnings 'redefine'; my $metric = $ATTRIBUTES->{$method}; # Long method name *{"${class}::${method}"} = sub { @_ > 1 ? $_[0]->_metric_name_to_value($metric, $_[1]) : $_[0]->_metric_value_to_name($metric); }; # Create metric alias *{"${class}::${metric}"} = sub { $_[0]->M($metric) }; } } sub new { my ($class, %params) = @_; $params{metrics} //= {}; $params{scores} //= {}; $params{vector_string} //= undef; my $self = bless {%params}, $class; if ($self->version !~ /(2.0|3.[0-1]|4.0)/) { Carp::croak 'Invalid CVSS version'; } if ($self->{vector_string}) { DEBUG and say STDERR sprintf('-- Validate vector string: %s', $self->VECTOR_STRING_REGEX); if ($self->{vector_string} !~ $self->VECTOR_STRING_REGEX) { Carp::croak 'Invalid CVSS vector string'; } $self->calculate_score; } return $self; } sub from_vector_string { my ($class, $vector_string) = @_; my %metrics = split /[\/:]/, $vector_string; my $version = delete $metrics{CVSS} || '2.0'; DEBUG and say STDERR "-- Vector String: $vector_string"; return $class->new(version => $version, metrics => \%metrics, vector_string => $vector_string); } sub ATTRIBUTES { {} } sub SCORE_SEVERITY { {} } sub NOT_DEFINED_VALUE { } sub VECTOR_STRING_REGEX {qw{}} sub METRIC_GROUPS { {} } sub METRIC_NAMES { {} } sub METRIC_VALUES { {} } sub _metric_name_to_value { my ($self, $metric, $name) = @_; $name =~ s/\s/_/g; $self->metrics->{$metric} = $self->METRIC_NAMES->{$metric}->{names}->{$name}; return $self; } sub _metric_value_to_name { my ($self, $metric) = @_; $self->METRIC_NAMES->{$metric}->{values}->{$self->metrics->{$metric}}; } sub version { shift->{version} || Carp::croak 'Missing CVSS version' } sub vector_string { $_[0]->{vector_string} || $_[0]->to_vector_string } sub metrics { shift->{metrics} } sub scores { shift->{scores} } # Scores & severities sub base_score { shift->{scores}->{base} } sub base_severity { $_[0]->score_to_severity($_[0]->base_score) } # CVSS 2.0/3.x scores & severities sub temporal_score { shift->{scores}->{temporal} } sub temporal_severity { $_[0]->score_to_severity($_[0]->temporal_score) } sub environmental_score { shift->{scores}->{environmental} } sub environmental_severity { $_[0]->score_to_severity($_[0]->environmental_score) } # Extra 2.0/3.x scores sub exploitability_score { shift->{scores}->{exploitability} } sub impact_score { shift->{scores}->{impact} } sub modified_impact_score { shift->{scores}->{modified_impact} } # JSON-style alias sub vectorString { shift->vector_string } sub baseScore { shift->base_score } sub baseSeverity { shift->base_severity } sub temporalScore { shift->temporal_score } sub temporalSeverity { shift->temporal_severity } sub environmentalScore { shift->environmental_score } sub environmentalSeverity { shift->environmental_severity } sub metric_group_is_set { my ($self, $type) = @_; for (@{$self->METRIC_GROUPS->{$type}}) { return 1 if ($self->M($_) && $self->M($_) ne $self->NOT_DEFINED_VALUE); } } sub metric { my ($self, $metric) = @_; my $value = $self->M($metric); return $self->METRIC_NAMES->{$metric}->{values}->{$value}; } sub M { $_[0]->metrics->{$_[1]} } sub score_to_severity { my ($self, $score) = @_; return unless (!!$score); my $SCORE_SEVERITY = $self->SCORE_SEVERITY; foreach (keys %{$SCORE_SEVERITY}) { my $range = $SCORE_SEVERITY->{$_}; if ($score >= $range->{min} && $score <= $range->{max}) { return $_; } } Carp::croak 'Unknown severity'; } sub calculate_score { Carp::croak sprintf('%s->calculate_score() is not implemented in subclass', ref(shift)) } sub to_xml { Carp::croak sprintf('%s->to_xml() is not implemented in subclass', ref(shift)) } sub to_string { shift->to_vector_string } sub to_vector_string { my ($self) = @_; my $metrics = $self->metrics; my @vectors = (); if ($self->version > 2.0) { push @vectors, sprintf('CVSS:%s', $self->version); } foreach my $metric (@{$self->METRIC_GROUPS->{base}}) { return if (!$metrics->{$metric}); push @vectors, sprintf('%s:%s', $metric, $metrics->{$metric}); } my @other_metrics = (); push @other_metrics, @{$self->METRIC_GROUPS->{threat} || []}; # CVSS 4.0 push @other_metrics, @{$self->METRIC_GROUPS->{temporal} || []}; # CVSS 2.0-3.x push @other_metrics, @{$self->METRIC_GROUPS->{environmental} || []}; # CVSS 2.0-3.x-4.0 push @other_metrics, @{$self->METRIC_GROUPS->{supplemental} || []}; # CVSS 4.0 foreach my $metric (@other_metrics) { if (defined $metrics->{$metric} && $metrics->{$metric} ne $self->NOT_DEFINED_VALUE) { push @vectors, sprintf('%s:%s', $metric, $metrics->{$metric}); } } return join '/', @vectors; } sub TO_JSON { my ($self) = @_; # Required JSON fields: # CVSS == v2.0: version, vectorString and baseScore # CVSS >= v3.0: version, vectorString, baseScore and baseSeverity $self->calculate_score unless ($self->base_score); my $json = { version => sprintf('%.1f', $self->version), vectorString => $self->vector_string, baseScore => $self->base_score }; if ($self->version > 2.0) { $json->{baseSeverity} = $self->base_severity; } my $metrics = $self->metrics; my %attributes = reverse(%{$self->ATTRIBUTES}); foreach my $metric (@{$self->METRIC_GROUPS->{base}}) { $json->{$attributes{$metric}} = $self->METRIC_NAMES->{$metric}->{values}->{$metrics->{$metric}}; } my @other_metrics = (); push @other_metrics, @{$self->METRIC_GROUPS->{threat} || []}; # CVSS 4.0 push @other_metrics, @{$self->METRIC_GROUPS->{temporal} || []}; # CVSS 2.0-3.x push @other_metrics, @{$self->METRIC_GROUPS->{environmental} || []}; # CVSS 2.0-3.x-4.0 push @other_metrics, @{$self->METRIC_GROUPS->{supplemental} || []}; # CVSS 4.0 foreach my $metric (@other_metrics) { if ($metrics->{$metric} && $metrics->{$metric} ne $self->NOT_DEFINED_VALUE) { $json->{$attributes{$metric}} = $self->METRIC_NAMES->{$metric}->{values}->{$metrics->{$metric}}; } } if ($self->version <= 3.1) { if ($self->metric_group_is_set('temporal')) { $json->{temporalScore} = $self->temporal_score; if ($self->version != 2.0) { $json->{temporalSeverity} = $self->temporal_severity; } } if ($self->metric_group_is_set('environmental')) { $json->{environmentalScore} = $self->environmental_score; if ($self->version != 2.0) { $json->{environmentalSeverity} = $self->environmental_severity; } } } # CVSS 4.0 ??? # environmentalScore # environmentalSeverity # threatScore # threatSeverity return $json; } 1; __END__ =pod =head1 NAME CVSS::Base - Base class for CVSS =head1 DESCRIPTION These are base class for L, L and L classes. =head2 METHODS =over =item $cvss->version Return the CVSS version. =item $cvss->vector_string Return the CVSS vector string. =item $cvss->metrics Return the HASH of CVSS metrics. =back =head3 SCORE & SEVERITY =over =item $cvss->scores Return the HASH of calculated score (base, impact, temporal, etc.). $scores = $cvss->scores; say Dumper($scores); # { "base" => "7.4", # "exploitability" => "1.6", # "impact" => "5.9" } =item $cvss->calculate_score Performs the calculation of the score in accordance with the CVSS specification. =item $cvss->score_to_severity ( $score ) Convert the score in severity =item $cvss->base_score Return the base score (0 - 10). =item $cvss->base_severity Return the base severity (LOW, MEDIUM, HIGH or CRITICAL). =item $cvss->temporal_score Return the temporal score (0 - 10) -- (CVSS 2.0/3.x) =item $cvss->temporal_severity Return the temporal severity (LOW, MEDIUM, HIGH or CRITICAL) -- (CVSS 2.0/3.x) =item $cvss->environmental_score Return the environmental score (0 - 10) -- (CVSS 2.0/3.x) =item $cvss->environmental_severity Return the environmental severity (LOW, MEDIUM, HIGH or CRITICAL) -- (CVSS 2.0/3.x) =item $cvss->impact_score Return the impact score (0 - 10) -- (CVSS 2.0/3.x) =item $cvss->exploitability_score Return the exploitability score (0 - 10) -- (CVSS 2.0/3.x) =item $cvss->modified_impact_score Return the modified impact score (0 - 10) -- (CVSS 2.0/3.x) =back =head3 METRICS =over =item $cvss->M ( $metric ) Return the metric value (short) say $cvss->M('AV'); # A =item $cvss->metric ( $metric ) Return the metric value (long) say $cvss->metric('AV'); # ADJACENT_NETWORK =item $cvss->metric_group_is_set ( $group ) =back =head3 DATA REPRESENTATIONS =over =item $cvss->to_vector_string Convert the L object in vector string say $cvss->to_vector_string; # CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H # or say $cvss; # CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H =item $cvss->to_xml Convert the L object in XML in according of CVSS XML Schema Definition. =over =item * https://nvd.nist.gov/schema/cvss-v2_0.2.xsd - XSD for CVSS v2.0 =item * https://www.first.org/cvss/cvss-v3.0.xsd - XSD for CVSS v3.0 =item * https://www.first.org/cvss/cvss-v3.1.xsd - XSD for CVSS v3.1 =item * https://www.first.org/cvss/cvss-v4.0.xsd - XSD for CVSS v4.0 =back say $cvss->to_xml; # # # # # ADJACENT_NETWORK # LOW # LOW # REQUIRED # UNCHANGED # HIGH # HIGH # HIGH # 7.4 # HIGH # # # =item $cvss->TO_JSON Helper method for JSON modules (L, L, L, L, etc). Convert the L object in JSON format in according of CVSS JSON Schema. =over =item * https://www.first.org/cvss/cvss-v2.0.json - JSON Schema for CVSS v2.0. =item * https://www.first.org/cvss/cvss-v3.0.json - JSON Schema for CVSS v3.0. =item * https://www.first.org/cvss/cvss-v3.1.json - JSON Schema for CVSS v3.1. =item * https://www.first.org/cvss/cvss-v4.0.json - JSON Schema for CVSS v4.0. =back use Mojo::JSON qw(encode_json); say encode_json($cvss); # { # "attackComplexity" : "LOW", # "attackVector" : "ADJACENT_NETWORK", # "availabilityImpact" : "HIGH", # "baseScore" : 7.4, # "baseSeverity" : "HIGH", # "confidentialityImpact" : "HIGH", # "integrityImpact" : "HIGH", # "privilegesRequired" : "LOW", # "scope" : "UNCHANGED", # "userInteraction" : "REQUIRED", # "vectorString" : "CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H", # "version" : "3.1" # } =back =head2 CONSTANTS =over =item $cvss->ATTRIBUTES Returns the HASH of all metrics in C<{ "JSON name" =E "metric", ... }> format. =item $cvss->METRIC_GROUPS Returns the HASH of the metric group (base, environmental, temporal, etc.) and its metrics. =item $cvss->METRIC_NAMES Returns the HASH of the names of all metric values. =item $cvss->METRIC_VALUES Returns the HASH of all metric values. =item $cvss->NOT_DEFINED_VALUE Returns the NOT_DEFINED vector value (C or C). =item $cvss->SCORE_SEVERITY Returns the HASH of C<{ severity =E { min =E score, max =E score }, ... }> used by C. =item $cvss->VECTOR_STRING_REGEX Return the Vector String REGEX. =back =head1 SEE ALSO L, L, L =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L git clone https://github.com/giterlizzi/perl-CVSS.git =head1 AUTHOR =over 4 =item * Giuseppe Di Terlizzi =back =head1 LICENSE AND COPYRIGHT This software is copyright (c) 2023-2025 by Giuseppe Di Terlizzi. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut CVSS-1.14/lib/CVSS/v3.pm0000644000175000017500000004010315032254163013432 0ustar peppepeppepackage CVSS::v3; use feature ':5.10'; use strict; use utf8; use warnings; use List::Util qw(min); use POSIX (); use Carp (); use base 'CVSS::Base'; use CVSS::Constants (); our $VERSION = '1.14'; $VERSION =~ tr/_//d; ## no critic use constant DEBUG => $ENV{CVSS_DEBUG}; my $WEIGHTS = CVSS::Constants->CVSS3_WEIGHTS; sub ATTRIBUTES { CVSS::Constants->CVSS3_ATTRIBUTES } sub SCORE_SEVERITY { CVSS::Constants->CVSS3_SCORE_SEVERITY } sub NOT_DEFINED_VALUE { CVSS::Constants->CVSS3_NOT_DEFINED_VALUE } sub VECTOR_STRING_REGEX { CVSS::Constants->CVSS3_VECTOR_STRING_REGEX } sub METRIC_GROUPS { CVSS::Constants->CVSS3_METRIC_GROUPS } sub METRIC_NAMES { CVSS::Constants->CVSS3_METRIC_NAMES } sub METRIC_VALUES { CVSS::Constants->CVSS3_METRIC_VALUES } sub weight { my ($self, $metric) = @_; # Modified Base Score weight if ($metric =~ /M(AV|AC|PR|UI|S|C|I|A)/) { if ($metric eq 'MPR') { DEBUG and say STDERR '-- MPR depends on the value of Scope (MS)'; my $ms_value = $self->M('MS'); my $mpr_value = $self->M('MPR'); $ms_value = $self->M('S') if ($ms_value eq 'X'); $mpr_value = $self->M('PR') if ($mpr_value eq 'X'); my $weight = $WEIGHTS->{MPR}{$ms_value}{$mpr_value}; DEBUG and say STDERR "-- Weight : $metric:$mpr_value = $weight (MS:$ms_value)"; return $weight; } my $value = $self->M($metric); $value = $self->M($1) if ($value eq 'X'); my $weight = $WEIGHTS->{$metric}{$value}; DEBUG and say STDERR "-- Weight : $metric:$value = $weight"; return $weight; } # PR depends on the value of Scope (S). if ($metric eq 'PR') { DEBUG and say STDERR '-- PR depends on the value of Scope (S)'; my $s_value = $self->M('S'); my $pr_value = $self->M('PR'); my $weight = $WEIGHTS->{PR}{$s_value}{$pr_value}; DEBUG and say STDERR "-- Weight : $metric:$pr_value = $weight (S:$s_value)"; return $weight; } my $value = $self->M($metric); my $weight = $WEIGHTS->{$metric}{$value}; DEBUG and say STDERR "-- Weight : $metric:$value = $weight"; return $weight; } sub W { weight(@_) } sub calculate_score { my ($self) = @_; if (%{$self->metrics}) { for (@{$self->METRIC_GROUPS->{base}}) { Carp::croak sprintf('Missing base metric (%s)', $_) unless ($self->metrics->{$_}); } } # Set NOT_DEFINED $self->metrics->{E} //= 'X'; $self->metrics->{RL} //= 'X'; $self->metrics->{RC} //= 'X'; $self->metrics->{CR} //= 'X'; $self->metrics->{IR} //= 'X'; $self->metrics->{AR} //= 'X'; $self->metrics->{MAV} //= 'X'; $self->metrics->{MAC} //= 'X'; $self->metrics->{MPR} //= 'X'; $self->metrics->{MUI} //= 'X'; $self->metrics->{MS} //= 'X'; $self->metrics->{MC} //= 'X'; $self->metrics->{MI} //= 'X'; $self->metrics->{MA} //= 'X'; # Base Metrics Equations # The Base Score formula depends on sub-formulas for Impact Sub-Score (ISS), # Impact, and Exploitability, all of which are defined below: # ISS = 1 - [ (1 - Confidentiality) × (1 - Integrity) × (1 - Availability) ] # Impact = # If Scope is Unchanged 6.42 × ISS # If Scope is Changed 7.52 × (ISS - 0.029) - 3.25 × (ISS - 0.02) ** 15 # Exploitability = 8.22 × AttackVector × AttackComplexity × # PrivilegesRequired × UserInteraction # BaseScore = # If Impact \<= 0 0, else # If Scope is Unchanged Roundup (Minimum [(Impact + Exploitability), 10]) # If Scope is Changed Roundup (Minimum [1.08 × (Impact + Exploitability), 10]) my $iss = (1 - ((1 - $self->W('C')) * (1 - $self->W('I')) * (1 - $self->W('A')))); my $impact = 0; my $exploitability = 8.22 * $self->W('AV') * $self->W('AC') * $self->W('PR') * $self->W('UI'); my $base_score = 0; if ($self->M('S') eq 'U') { $impact = $self->W('S') * $iss; } else { $impact = $self->W('S') * ($iss - 0.029) - 3.25 * ($iss - 0.02)**15; } if ($impact <= 0) { $base_score = 0; } elsif ($self->M('S') eq 'U') { $base_score = round_up(min(($impact + $exploitability), 10)); } else { $base_score = round_up(min((1.08 * ($impact + $exploitability)), 10)); } DEBUG and say STDERR "-- Impact Sub-Score (ISS): $iss"; DEBUG and say STDERR "-- Impact: $impact"; DEBUG and say STDERR "-- Exploitability: $exploitability"; DEBUG and say STDERR "-- BaseScore: $base_score"; $self->{scores}->{base} = $base_score; $self->{scores}->{exploitability} = sprintf('%.1f', $exploitability); $self->{scores}->{impact} = sprintf('%.1f', $impact); if ($self->metric_group_is_set('temporal')) { # Temporal Metrics Equations # TemporalScore = Roundup (BaseScore × ExploitCodeMaturity × RemediationLevel × ReportConfidence) my $temporal_score = round_up($base_score * $self->W('E') * $self->W('RL') * $self->W('RC')); DEBUG and say STDERR "-- TemporalScore: $temporal_score"; $self->{scores}->{temporal} = $temporal_score; } if ($self->metric_group_is_set('environmental')) { # Environmental Metrics Equations # The Environmental Score formula depends on sub-formulas for Modified Impact # Sub-Score (MISS), ModifiedImpact, and ModifiedExploitability, all of which # are defined below: # MISS = Minimum ( 1 - [ # (1 - ConfidentialityRequirement × ModifiedConfidentiality) × # (1 - IntegrityRequirement × ModifiedIntegrity) × # (1 - AvailabilityRequirement × ModifiedAvailability) # ], 0.915) # ModifiedImpact = # If ModifiedScope is Unchanged 6.42 × MISS # If ModifiedScope is Changed 7.52 × (MISS - 0.029) - 3.25 × (MISS × 0.9731 - 0.02) ** 13 # CVSS v3.0 --> 7.52 × (MISS - 0.029) - 3.25 × (MISS - 0.02) ** 15 # ModifiedExploitability = 8.22 × ModifiedAttackVector × # ModifiedAttackComplexity × # ModifiedPrivilegesRequired × # ModifiedUserInteraction # EnvironmentalScore = # If ModifiedImpact \<= 0 0, else # If ModifiedScope is Unchanged Roundup ( Roundup [Minimum ( # [ModifiedImpact + ModifiedExploitability], 10) ] × # ExploitCodeMaturity × RemediationLevel × ReportConfidence) # If ModifiedScope is Changed Roundup ( Roundup [Minimum (1.08 × # [ModifiedImpact + ModifiedExploitability], 10) ] × # ExploitCodeMaturity × RemediationLevel × ReportConfidence) my $modified_impact = 0; my $environmental_score = 0; my $modified_exploitability = 8.22 * $self->W('MAV') * $self->W('MAC') * $self->W('MPR') * $self->W('MUI'); my $miss = min( ( 1 - ( (1 - $self->W('MC') * $self->W('CR')) * (1 - $self->W('MI') * $self->W('IR')) * (1 - $self->W('MA') * $self->W('AR')) ) ), 0.915 ); DEBUG and say STDERR "-- Modified Impact Sub-Score (MISS): $miss"; if ($self->M('MS') eq 'U' || ($self->M('MS') eq 'X' && $self->M('S') eq 'U')) { $modified_impact = $self->W('MS') * $miss; } else { if ($self->version == 3.0) { $modified_impact = $self->W('MS') * ($miss - 0.029) - 3.25 * (($miss - 0.02)**15); } elsif ($self->version == 3.1) { $modified_impact = $self->W('MS') * ($miss - 0.029) - 3.25 * (($miss * 0.9731 - 0.02)**13); } } if ($modified_impact <= 0) { $environmental_score = 0; } elsif ($self->M('MS') eq 'U' || ($self->M('MS') eq 'X' && $self->M('S') eq 'U')) { $environmental_score = round_up(round_up(min(($modified_impact + $modified_exploitability), 10)) * $self->W('E') * $self->W('RL') * $self->W('RC')); } else { $environmental_score = round_up(round_up(min(1.08 * ($modified_impact + $modified_exploitability), 10)) * $self->W('E') * $self->W('RL') * $self->W('RC')); } DEBUG and say STDERR "-- ModifiedImpact: $modified_impact"; DEBUG and say STDERR "-- ModifiedExploitability: $modified_exploitability"; DEBUG and say STDERR "-- EnvironmentalScore: $environmental_score"; $self->{scores}->{modified_impact} = round_up($modified_impact); $self->{scores}->{environmental} = $environmental_score; } return 1; } sub round { my ($input) = @_; return ($input < 0) ? POSIX::ceil($input - 0.5) : POSIX::floor($input + 0.5); } sub round_up { my ($input) = @_; my $int_input = round($input * 100_000); if ($int_input % 10_000 == 0) { return $int_input / 100_000; } else { return (POSIX::floor($int_input / 10_000) + 1) / 10; } } sub to_xml { my ($self) = @_; my $metric_value_names = $self->METRIC_NAMES; $self->calculate_score unless ($self->base_score); my $version = $self->version; my $metrics = $self->metrics; my $base_score = $self->base_score; my $base_severity = $self->base_severity; my $temporal_score = $self->temporal_score; my $temporal_severity = $self->temporal_severity; my $environmental_score = $self->environmental_score; my $environmental_severity = $self->environmental_severity; my $xml_metrics = <<"XML"; $metric_value_names->{AV}->{values}->{$metrics->{AV}} $metric_value_names->{AC}->{values}->{$metrics->{AC}} $metric_value_names->{PR}->{values}->{$metrics->{PR}} $metric_value_names->{UI}->{values}->{$metrics->{UI}} $metric_value_names->{S}->{values}->{$metrics->{S}} $metric_value_names->{C}->{values}->{$metrics->{C}} $metric_value_names->{I}->{values}->{$metrics->{I}} $metric_value_names->{A}->{values}->{$metrics->{A}} $base_score $base_severity XML if ($self->metric_group_is_set('temporal')) { $xml_metrics .= <<"XML"; $metric_value_names->{E}->{values}->{$metrics->{E} || 'X'} $metric_value_names->{RL}->{values}->{$metrics->{RL} || 'X'} $metric_value_names->{RC}->{values}->{$metrics->{RC} || 'X'} $temporal_score $temporal_severity XML } if ($self->metric_group_is_set('environmental')) { $xml_metrics .= <<"XML"; $metric_value_names->{CR}->{values}->{$metrics->{CR} || 'X'} $metric_value_names->{IR}->{values}->{$metrics->{IR} || 'X'} $metric_value_names->{AR}->{values}->{$metrics->{AR} || 'X'} $metric_value_names->{MAV}->{values}->{$metrics->{MAV} || 'X'} $metric_value_names->{MAC}->{values}->{$metrics->{MAC} || 'X'} $metric_value_names->{MPR}->{values}->{$metrics->{MPR} || 'X'} $metric_value_names->{MUI}->{values}->{$metrics->{MUI} || 'X'} $metric_value_names->{MS}->{$metrics->{values}->{MS} || 'X'} $metric_value_names->{MC}->{values}->{$metrics->{MC} || 'X'} $metric_value_names->{MI}->{values}->{$metrics->{MI} || 'X'} $metric_value_names->{MA}->{values}->{$metrics->{MA} || 'X'} $environmental_score $environmental_severity XML } my $xml = <<"XML"; $xml_metrics XML return $xml; } 1; 1; __END__ =pod =head1 NAME CVSS::v3 - Parse and calculate CVSS v3.x scores =head1 SYNOPSIS use CVSS::v3; my $cvss = CVSS::v3->from_vector_string('CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H'); say $cvss->AV; # A say $cvss->attackVector; # ADJACENT_NETWORK =head1 DESCRIPTION =head2 METHODS L inherits all methods from L and implements the following new ones. =head3 BASE METRICS =over =item $cvss->AV | $cvss->attackVector =item $cvss->AC | $cvss->attackComplexity =item $cvss->PR | $cvss->privilegesRequired =item $cvss->UI | $cvss->userInteraction =item $cvss->S | $cvss->scope =item $cvss->C | $cvss->confidentialityImpact =item $cvss->I | $cvss->integrityImpact =item $cvss->A | $cvss->availabilityImpact =back =head3 TEMPORAL METRICS =over =item $cvss->E | $cvss->exploitCodeMaturity =item $cvss->RL | $cvss->remediationLevel =item $cvss->RC | $cvss->reportConfidence =back =head3 ENVIROMENTAL METRICS =over =item $cvss->CR | $cvss->confidentialityRequirement =item $cvss->IR | $cvss->integrityRequirement =item $cvss->AR | $cvss->availabilityRequirement =item $cvss->MAV | $cvss->modifiedAttackVector =item $cvss->MAC | $cvss->modifiedAttackComplexity =item $cvss->MPR | $cvss->modifiedPrivilegesRequired =item $cvss->MUI | $cvss->modifiedUserInteraction =item $cvss->MS | $cvss->modifiedScope =item $cvss->MC | $cvss->modifiedConfidentialityImpact =item $cvss->MI | $cvss->modifiedIntegrityImpact =item $cvss->MA | $cvss->modifiedAvailabilityImpact =back =head1 SEE ALSO L, L, L =over 4 =item [FIRST] CVSS Data Representations (L) =item [FIRST] CVSS v3.1 Specification (L) =item [FIRST] CVSS v3.0 Specification (L) =back =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L git clone https://github.com/giterlizzi/perl-CVSS.git =head1 AUTHOR =over 4 =item * Giuseppe Di Terlizzi =back =head1 LICENSE AND COPYRIGHT This software is copyright (c) 2023-2025 by Giuseppe Di Terlizzi. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut CVSS-1.14/lib/CVSS/Constants.pm0000644000175000017500000007263715032254131015072 0ustar peppepeppepackage CVSS::Constants; use feature ':5.10'; use strict; use utf8; use warnings; our $VERSION = '1.14'; $VERSION =~ tr/_//d; ## no critic # CVSS v2.0 constants use constant CVSS2_SCORE_SEVERITY => { NONE => {min => 0.0, max => 0.0}, LOW => {min => 0.1, max => 3.9}, MEDIUM => {min => 4.0, max => 6.9}, HIGH => {min => 7.0, max => 10.0}, }; use constant CVSS2_NOT_DEFINED_VALUE => 'ND'; use constant CVSS2_VECTOR_STRING_REGEX => qr{^((AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H|ND)|TD:(N|L|M|H|ND)|[CIA]R:(L|M|H|ND))/)*(AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H|ND)|TD:(N|L|M|H|ND)|[CIA]R:(L|M|H|ND))$}; use constant CVSS2_METRIC_GROUPS => {base => [qw(AV AC Au C I A)], temporal => [qw(E RL RC)], environmental => [qw(CDP TD CR IR AR)]}; use constant CVSS2_WEIGHTS => { AV => {N => 1.0, A => 0.646, L => 0.395}, AC => {H => 0.35, M => 0.61, L => 0.71}, Au => {M => 0.45, S => 0.56, N => 0.704}, C => {N => 0.0, P => 0.275, C => 0.660}, I => {N => 0.0, P => 0.275, C => 0.660}, A => {N => 0.0, P => 0.275, C => 0.660}, E => {U => 0.85, POC => 0.9, F => 0.95, H => 1.00, ND => 1.00}, RL => {OF => 0.87, TF => 0.90, W => 0.95, U => 1.00, ND => 1.00}, RC => {UC => 0.90, UR => 0.95, C => 1.00, ND => 1.00}, CDP => {N => 0, L => 0.1, LM => 0.3, MH => 0.4, H => 0.5, ND => 0}, TD => {N => 0, L => 0.25, M => 0.75, H => 1.0, ND => 1.0}, CR => {L => 0.5, M => 1.0, H => 1.51, ND => 1.0}, IR => {L => 0.5, M => 1.0, H => 1.51, ND => 1.0}, AR => {L => 0.5, M => 1.0, H => 1.51, ND => 1.0}, }; use constant CVSS2_ATTRIBUTES => { # Base metrics accessVector => 'AV', accessComplexity => 'AC', authentication => 'Au', confidentialityImpact => 'C', integrityImpact => 'I', availabilityImpact => 'A', # Temporal exploitability => 'E', remediationLevel => 'RL', reportConfidence => 'RC', # Environmental collateralDamagePotential => 'CDP', targetDistribution => 'TD', confidentialityRequirement => 'CR', integrityRequirement => 'IR', availabilityRequirement => 'AR', }; use constant CVSS2_METRIC_VALUES => { AV => [qw(N A L)], AC => [qw(H M L)], Au => [qw(M S N)], C => [qw(N P C)], I => [qw(N P C)], A => [qw(N P C)], E => [qw(U POC F H ND)], RL => [qw(OF TF W U ND)], RC => [qw(UC UR C ND)], CDP => [qw(N L LM MH H ND)], TD => [qw(N L M H ND)], CR => [qw(L M H ND)], IR => [qw(L M H ND)], AR => [qw(L M H ND)], }; sub CVSS2_METRIC_NAMES { my $ND = 'NOT_DEFINED'; my $AV = {N => 'NETWORK', A => 'ADJACENT_NETWORK', L => 'LOCAL'}; my $AC = {H => 'HIGH', M => 'MEDIUM', L => 'LOW'}; my $Au = {M => 'MULTIPLE', S => 'SINGLE', N => 'NONE'}; my $C = {N => 'NONE', P => 'PARTIAL', C => 'COMPLETE'}; my $I = {N => 'NONE', P => 'PARTIAL', C => 'COMPLETE'}; my $A = {N => 'NONE', P => 'PARTIAL', C => 'COMPLETE'}; my $E = {U => 'UNPROVEN', POC => 'PROOF_OF_CONCEPT', F => 'FUNCTIONAL', H => 'HIGH', ND => $ND}; my $RL = {OF => 'OFFICIAL_FIX', TF => 'TEMPORARY_FIX', W => 'WORKAROUND', U => 'UNAVAILABLE', ND => $ND}; my $RC = {UC => 'UNCONFIRMED', UR => 'UNCORROBORATED', C => 'CONFIRMED', ND => $ND}; my $CDP = {N => 'NONE', L => 'LOW', LM => 'LOW_MEDIUM', MH => 'MEDIUM_HIGH', H => 'HIGH', ND => $ND}; my $TD = {N => 'NONE', L => 'LOW', M => 'MEDIUM', H => 'HIGH', ND => $ND}; my $CR = {L => 'LOW', M => 'MEDIUM', H => 'HIGH', ND => $ND}; my $IR = {L => 'LOW', M => 'MEDIUM', H => 'HIGH', ND => $ND}; my $AR = {L => 'LOW', M => 'MEDIUM', H => 'HIGH', ND => $ND}; return { # Base AV => {json => 'accessVector', values => $AV}, AC => {json => 'accessComplexity', values => $AC}, Au => {json => 'authentication', values => $Au}, C => {json => 'confidentialityImpact', values => $C}, I => {json => 'integrityImpact', values => $I}, A => {json => 'availabilityImpact', values => $A}, # Temporal E => {json => 'exploitability', values => $E}, RL => {json => 'remediationLevel', values => $RL}, RC => {json => 'reportConfidence', values => $RC}, # Environmental CDP => {json => 'collateralDamagePotential', values => $CDP}, TD => {json => 'targetDistribution', values => $TD}, CR => {json => 'confidentialityRequirement', values => $CR}, IR => {json => 'integrityRequirement', values => $IR}, AR => {json => 'availabilityRequirement', values => $AR}, }; } # CVSS v3.x constans use constant CVSS3_SCORE_SEVERITY => { NONE => {min => 0.0, max => 0.0}, LOW => {min => 0.1, max => 3.9}, MEDIUM => {min => 4.0, max => 6.9}, HIGH => {min => 7.0, max => 8.9}, CRITICAL => {min => 9.0, max => 10.0} }; use constant CVSS3_NOT_DEFINED_VALUE => 'X'; use constant CVSS3_METRIC_GROUPS => { base => [qw(AV AC PR UI S C I A)], temporal => [qw(E RL RC)], environmental => [qw(CR IR AR MAV MAC MPR MUI MS MC MI MA)], }; use constant CVSS3_VECTOR_STRING_REGEX => qr{^CVSS:3\.[0-1]\/((AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])\/)*(AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$}; use constant CVSS3_WEIGHTS => { # Base AV => {N => 0.85, A => 0.62, L => 0.55, P => 0.2}, AC => {H => 0.44, L => 0.77}, # These values are used if Scope is Changed PR => {U => {N => 0.85, L => 0.62, H => 0.27}, C => {N => 0.85, L => 0.68, H => 0.5}}, UI => {N => 0.85, R => 0.62}, S => {U => 6.42, C => 7.52}, # Note: not defined as constants in specification # C, I and A have the same weights C => {N => 0, L => 0.22, H => 0.56}, I => {N => 0, L => 0.22, H => 0.56}, A => {N => 0, L => 0.22, H => 0.56}, # Temporal E => {X => 1, U => 0.91, P => 0.94, F => 0.97, H => 1}, RL => {X => 1, O => 0.95, T => 0.96, W => 0.97, U => 1}, RC => {X => 1, U => 0.92, R => 0.96, C => 1}, # Environmental # CR, IR and AR have the same weights CR => {X => 1, L => 0.5, M => 1, H => 1.5}, IR => {X => 1, L => 0.5, M => 1, H => 1.5}, AR => {X => 1, L => 0.5, M => 1, H => 1.5}, # (modified Base) MAV => {N => 0.85, A => 0.62, L => 0.55, P => 0.2}, MAC => {H => 0.44, L => 0.77}, # These values are used if Scope is Changed MPR => {U => {N => 0.85, L => 0.62, H => 0.27}, C => {N => 0.85, L => 0.68, H => 0.5}}, MUI => {N => 0.85, R => 0.62}, MS => {U => 6.42, C => 7.52}, # Note: not defined as constants in specification # C, I and A have the same weights MC => {N => 0, L => 0.22, H => 0.56}, MI => {N => 0, L => 0.22, H => 0.56}, MA => {N => 0, L => 0.22, H => 0.56}, }; use constant CVSS3_ATTRIBUTES => { # Base metrics attackVector => 'AV', attackComplexity => 'AC', privilegesRequired => 'PR', userInteraction => 'UI', scope => 'S', confidentialityImpact => 'C', integrityImpact => 'I', availabilityImpact => 'A', # Temporal metrics exploitCodeMaturity => 'E', remediationLevel => 'RL', reportConfidence => 'RC', # Enviromental metrics confidentialityRequirement => 'CR', integrityRequirement => 'IR', availabilityRequirement => 'AR', modifiedAttackVector => 'MAV', modifiedAttackComplexity => 'MAC', modifiedPrivilegesRequired => 'MPR', modifiedUserInteraction => 'MUI', modifiedScope => 'MS', modifiedConfidentialityImpact => 'MC', modifiedIntegrityImpact => 'MI', modifiedAvailabilityImpact => 'MA', }; use constant CVSS3_METRIC_VALUES => { AV => [qw(N A L P)], AC => [qw(L H)], PR => [qw(N L H)], UI => [qw(N R)], S => [qw(U C)], C => [qw(N L H)], I => [qw(N L H)], A => [qw(N L H)], E => [qw(X U P F H)], RL => [qw(X O T W U)], RC => [qw(X U R C)], MAV => [qw(X N A L P)], MAC => [qw(X L H)], MPR => [qw(X N L H)], MUI => [qw(X N R)], MS => [qw(X U C)], MC => [qw(X N L H)], MI => [qw(X N L H)], MA => [qw(X N L H)], CR => [qw(X L M H)], IR => [qw(X L M H)], AR => [qw(X L M H)], }; sub CVSS3_METRIC_NAMES { my $AV = {N => 'NETWORK', A => 'ADJACENT_NETWORK', L => 'LOCAL', P => 'PHYSICAL'}; my $AC = {H => 'HIGH', L => 'LOW'}; my $PR = {N => 'NONE', L => 'LOW', H => 'HIGH'}; my $UI = {N => 'NONE', R => 'REQUIRED'}; my $S = {U => 'UNCHANGED', C => 'CHANGED'}; my $C = {N => 'NONE', L => 'LOW', H => 'HIGH'}; my $I = {N => 'NONE', L => 'LOW', H => 'HIGH'}; my $A = {N => 'NONE', L => 'LOW', H => 'HIGH'}; my $E = {X => 'NOT_DEFINED', U => 'UNPROVEN', P => 'PROOF_OF_CONCEPT', F => 'FUNCTIONAL', H => 'HIGH'}; my $RL = {X => 'NOT_DEFINED', O => 'OFFICIAL_FIX', T => 'TEMPORARY_FIX', W => 'WORKAROUND', U => 'UNAVAILABLE'}; my $RC = {X => 'NOT_DEFINED', U => 'UNKNOWN', R => 'REASONABLE', C => 'CONFIRMED'}; my $CR = {X => 'NOT_DEFINED', L => 'LOW', M => 'MEDIUM', H => 'HIGH'}; my $IR = {X => 'NOT_DEFINED', L => 'LOW', M => 'MEDIUM', H => 'HIGH'}; my $AR = {X => 'NOT_DEFINED', L => 'LOW', M => 'MEDIUM', H => 'HIGH'}; my $MAV = {N => 'NETWORK', A => 'ADJACENT_NETWORK', L => 'LOCAL', P => 'PHYSICAL', X => 'NOT_DEFINED'}; my $MAC = {H => 'HIGH', L => 'LOW', X => 'NOT_DEFINED'}; my $MPR = {N => 'NONE', L => 'LOW', H => 'HIGH', X => 'NOT_DEFINED'}; my $MUI = {N => 'NONE', R => 'REQUIRED', X => 'NOT_DEFINED'}; my $MS = {U => 'UNCHANGED', C => 'CHANGED', X => 'NOT_DEFINED'}; my $MC = {N => 'NONE', L => 'LOW', H => 'HIGH', X => 'NOT_DEFINED'}; my $MI = {N => 'NONE', L => 'LOW', H => 'HIGH', X => 'NOT_DEFINED'}; my $MA = {N => 'NONE', L => 'LOW', H => 'HIGH', X => 'NOT_DEFINED'}; my @AV = (qw[N A L P]); return { # Base AV => {json => 'attackVector', values => $AV, names => {reverse(%{$AV})}}, AC => {json => 'attackComplexity', values => $AC, names => {reverse(%{$AC})}}, PR => {json => 'privilegesRequired', values => $PR, names => {reverse(%{$PR})}}, UI => {json => 'userInteraction', values => $UI, names => {reverse(%{$UI})}}, S => {json => 'scope', values => $S, names => {reverse(%{$S})}}, C => {json => 'confidentialityImpact', values => $C, names => {reverse(%{$C})}}, I => {json => 'integrityImpact', values => $I, names => {reverse(%{$I})}}, A => {json => 'availabilityImpact', values => $A, names => {reverse(%{$A})}}, # Temporal E => {json => 'exploitCodeMaturity', values => $E, names => {reverse(%{$E})}}, RL => {json => 'remediationLevel', values => $RL, names => {reverse(%{$RL})}}, RC => {json => 'reportConfidence', values => $RC, names => {reverse(%{$RC})}}, # Environmental CR => {json => 'confidentialityRequirement', values => $CR, names => {reverse(%{$CR})}}, IR => {json => 'integrityRequirement', values => $IR, names => {reverse(%{$IR})}}, AR => {json => 'availabilityRequirement', values => $AR, names => {reverse(%{$AR})}}, MAV => {json => 'modifiedAttackVector', values => $MAV, names => {reverse(%{$MAV})}}, MAC => {json => 'modifiedAttackComplexity', values => $MAC, names => {reverse(%{$MAC})}}, MPR => {json => 'modifiedPrivilegesRequired', values => $MPR, names => {reverse(%{$MPR})}}, MUI => {json => 'modifiedUserInteraction', values => $MUI, names => {reverse(%{$MUI})}}, MS => {json => 'modifiedScope', values => $MS, names => {reverse(%{$MS})}}, MC => {json => 'modifiedConfidentialityImpact', values => $MC, names => {reverse(%{$MC})}}, MI => {json => 'modifiedIntegrityImpact', values => $MI, names => {reverse(%{$MI})}}, MA => {json => 'modifiedAvailabilityImpact', values => $MA, names => {reverse(%{$MA})}}, }; } # CVSS v4.0 constants use constant CVSS4_SCORE_SEVERITY => CVSS3_SCORE_SEVERITY(); use constant CVSS4_NOT_DEFINED_VALUE => 'X'; use constant CVSS4_VECTOR_STRING_REGEX => qr{^CVSS:4[.]0/AV:[NALP]/AC:[LH]/AT:[NP]/PR:[NLH]/UI:[NPA]/VC:[HLN]/VI:[HLN]/VA:[HLN]/SC:[HLN]/SI:[HLN]/SA:[HLN](/E:[XAPU])?(/CR:[XHML])?(/IR:[XHML])?(/AR:[XHML])?(/MAV:[XNALP])?(/MAC:[XLH])?(/MAT:[XNP])?(/MPR:[XNLH])?(/MUI:[XNPA])?(/MVC:[XNLH])?(/MVI:[XNLH])?(/MVA:[XNLH])?(/MSC:[XNLH])?(/MSI:[XNLHS])?(/MSA:[XNLHS])?(/S:[XNP])?(/AU:[XNY])?(/R:[XAUI])?(/V:[XDC])?(/RE:[XLMH])?(/U:(X|Clear|Green|Amber|Red))?$}; use constant CVSS4_MAX_COMPOSED => { eq1 => { 0 => ['AV:N/PR:N/UI:N/'], 1 => ['AV:A/PR:N/UI:N/', 'AV:N/PR:L/UI:N/', 'AV:N/PR:N/UI:P/'], 2 => ['AV:P/PR:N/UI:N/', 'AV:A/PR:L/UI:P/'] }, eq2 => {0 => ['AC:L/AT:N/'], 1 => ['AC:H/AT:N/', 'AC:L/AT:P/']}, eq3 => { 0 => { 0 => ['VC:H/VI:H/VA:H/CR:H/IR:H/AR:H/'], 1 => ['VC:H/VI:H/VA:L/CR:M/IR:M/AR:H/', 'VC:H/VI:H/VA:H/CR:M/IR:M/AR:M/'] }, 1 => { 0 => ['VC:L/VI:H/VA:H/CR:H/IR:H/AR:H/', 'VC:H/VI:L/VA:H/CR:H/IR:H/AR:H/'], 1 => [ 'VC:L/VI:H/VA:L/CR:H/IR:M/AR:H/', 'VC:L/VI:H/VA:H/CR:H/IR:M/AR:M/', 'VC:H/VI:L/VA:H/CR:M/IR:H/AR:M/', 'VC:H/VI:L/VA:L/CR:M/IR:H/AR:H/', 'VC:L/VI:L/VA:H/CR:H/IR:H/AR:M/' ] }, 2 => {1 => ['VC:L/VI:L/VA:L/CR:H/IR:H/AR:H/']}, }, eq4 => { 0 => ['SC:H/SI:S/SA:S/'], 1 => ['SC:H/SI:H/SA:H/'], 2 => ['SC:L/SI:L/SA:L/'] }, eq5 => {0 => ['E:A/'], 1 => ['E:P/'], 2 => ['E:U/']}, }; use constant CVSS4_LOOKUP_GLOBAL => { '000000' => 10.0, '000001' => 9.9, '000010' => 9.8, '000011' => 9.5, '000020' => 9.5, '000021' => 9.2, '000100' => 10.0, '000101' => 9.6, '000110' => 9.3, '000111' => 8.7, '000120' => 9.1, '000121' => 8.1, '000200' => 9.3, '000201' => 9.0, '000210' => 8.9, '000211' => 8.0, '000220' => 8.1, '000221' => 6.8, '001000' => 9.8, '001001' => 9.5, '001010' => 9.5, '001011' => 9.2, '001020' => 9.0, '001021' => 8.4, '001100' => 9.3, '001101' => 9.2, '001110' => 8.9, '001111' => 8.1, '001120' => 8.1, '001121' => 6.5, '001200' => 8.8, '001201' => 8.0, '001210' => 7.8, '001211' => 7.0, '001220' => 6.9, '001221' => 4.8, '002001' => 9.2, '002011' => 8.2, '002021' => 7.2, '002101' => 7.9, '002111' => 6.9, '002121' => 5.0, '002201' => 6.9, '002211' => 5.5, '002221' => 2.7, '010000' => 9.9, '010001' => 9.7, '010010' => 9.5, '010011' => 9.2, '010020' => 9.2, '010021' => 8.5, '010100' => 9.5, '010101' => 9.1, '010110' => 9.0, '010111' => 8.3, '010120' => 8.4, '010121' => 7.1, '010200' => 9.2, '010201' => 8.1, '010210' => 8.2, '010211' => 7.1, '010220' => 7.2, '010221' => 5.3, '011000' => 9.5, '011001' => 9.3, '011010' => 9.2, '011011' => 8.5, '011020' => 8.5, '011021' => 7.3, '011100' => 9.2, '011101' => 8.2, '011110' => 8.0, '011111' => 7.2, '011120' => 7.0, '011121' => 5.9, '011200' => 8.4, '011201' => 7.0, '011210' => 7.1, '011211' => 5.2, '011220' => 5.0, '011221' => 3.0, '012001' => 8.6, '012011' => 7.5, '012021' => 5.2, '012101' => 7.1, '012111' => 5.2, '012121' => 2.9, '012201' => 6.3, '012211' => 2.9, '012221' => 1.7, '100000' => 9.8, '100001' => 9.5, '100010' => 9.4, '100011' => 8.7, '100020' => 9.1, '100021' => 8.1, '100100' => 9.4, '100101' => 8.9, '100110' => 8.6, '100111' => 7.4, '100120' => 7.7, '100121' => 6.4, '100200' => 8.7, '100201' => 7.5, '100210' => 7.4, '100211' => 6.3, '100220' => 6.3, '100221' => 4.9, '101000' => 9.4, '101001' => 8.9, '101010' => 8.8, '101011' => 7.7, '101020' => 7.6, '101021' => 6.7, '101100' => 8.6, '101101' => 7.6, '101110' => 7.4, '101111' => 5.8, '101120' => 5.9, '101121' => 5.0, '101200' => 7.2, '101201' => 5.7, '101210' => 5.7, '101211' => 5.2, '101220' => 5.2, '101221' => 2.5, '102001' => 8.3, '102011' => 7.0, '102021' => 5.4, '102101' => 6.5, '102111' => 5.8, '102121' => 2.6, '102201' => 5.3, '102211' => 2.1, '102221' => 1.3, '110000' => 9.5, '110001' => 9.0, '110010' => 8.8, '110011' => 7.6, '110020' => 7.6, '110021' => 7.0, '110100' => 9.0, '110101' => 7.7, '110110' => 7.5, '110111' => 6.2, '110120' => 6.1, '110121' => 5.3, '110200' => 7.7, '110201' => 6.6, '110210' => 6.8, '110211' => 5.9, '110220' => 5.2, '110221' => 3.0, '111000' => 8.9, '111001' => 7.8, '111010' => 7.6, '111011' => 6.7, '111020' => 6.2, '111021' => 5.8, '111100' => 7.4, '111101' => 5.9, '111110' => 5.7, '111111' => 5.7, '111120' => 4.7, '111121' => 2.3, '111200' => 6.1, '111201' => 5.2, '111210' => 5.7, '111211' => 2.9, '111220' => 2.4, '111221' => 1.6, '112001' => 7.1, '112011' => 5.9, '112021' => 3.0, '112101' => 5.8, '112111' => 2.6, '112121' => 1.5, '112201' => 2.3, '112211' => 1.3, '112221' => 0.6, '200000' => 9.3, '200001' => 8.7, '200010' => 8.6, '200011' => 7.2, '200020' => 7.5, '200021' => 5.8, '200100' => 8.6, '200101' => 7.4, '200110' => 7.4, '200111' => 6.1, '200120' => 5.6, '200121' => 3.4, '200200' => 7.0, '200201' => 5.4, '200210' => 5.2, '200211' => 4.0, '200220' => 4.0, '200221' => 2.2, '201000' => 8.5, '201001' => 7.5, '201010' => 7.4, '201011' => 5.5, '201020' => 6.2, '201021' => 5.1, '201100' => 7.2, '201101' => 5.7, '201110' => 5.5, '201111' => 4.1, '201120' => 4.6, '201121' => 1.9, '201200' => 5.3, '201201' => 3.6, '201210' => 3.4, '201211' => 1.9, '201220' => 1.9, '201221' => 0.8, '202001' => 6.4, '202011' => 5.1, '202021' => 2.0, '202101' => 4.7, '202111' => 2.1, '202121' => 1.1, '202201' => 2.4, '202211' => 0.9, '202221' => 0.4, '210000' => 8.8, '210001' => 7.5, '210010' => 7.3, '210011' => 5.3, '210020' => 6.0, '210021' => 5.0, '210100' => 7.3, '210101' => 5.5, '210110' => 5.9, '210111' => 4.0, '210120' => 4.1, '210121' => 2.0, '210200' => 5.4, '210201' => 4.3, '210210' => 4.5, '210211' => 2.2, '210220' => 2.0, '210221' => 1.1, '211000' => 7.5, '211001' => 5.5, '211010' => 5.8, '211011' => 4.5, '211020' => 4.0, '211021' => 2.1, '211100' => 6.1, '211101' => 5.1, '211110' => 4.8, '211111' => 1.8, '211120' => 2.0, '211121' => 0.9, '211200' => 4.6, '211201' => 1.8, '211210' => 1.7, '211211' => 0.7, '211220' => 0.8, '211221' => 0.2, '212001' => 5.3, '212011' => 2.4, '212021' => 1.4, '212101' => 2.4, '212111' => 1.2, '212121' => 0.5, '212201' => 1.0, '212211' => 0.3, '212221' => 0.1, }; use constant CVSS4_MAX_SEVERITY => { eq1 => {0 => 1, 1 => 4, 2 => 5}, eq2 => {0 => 1, 1 => 2}, eq3eq6 => {0 => {0 => 7, 1 => 6}, 1 => {0 => 8, 1 => 8}, 2 => {1 => 10}}, eq4 => {0 => 6, 1 => 5, 2 => 4}, eq5 => {0 => 1, 1 => 1, 2 => 1}, }; use constant CVSS4_METRIC_GROUPS => { base => [qw(AV AC AT PR UI VC VI VA SC SI SA)], threat => [qw(E)], environmental => [qw(CR IR AR MAV MAC MAT MPR MUI MVC MVI MVA MSC MSI MSA)], supplemental => [qw(S AU R V RE U)], }; use constant CVSS4_ATTRIBUTES => { # Base attackVector => 'AV', attackComplexity => 'AC', attackRequirements => 'AT', privilegesRequired => 'PR', userInteraction => 'UI', vulnConfidentialityImpact => 'VC', vulnIntegrityImpact => 'VI', vulnAvailabilityImpact => 'VA', subConfidentialityImpact => 'SC', subIntegrityImpact => 'SI', subAvailabilityImpact => 'SA', # Threat exploitMaturity => 'E', # Environmental confidentialityRequirement => 'CR', integrityRequirement => 'IR', availabilityRequirement => 'AR', modifiedAttackVector => 'MAV', modifiedAttackComplexity => 'MAC', modifiedAttackRequirements => 'MAT', modifiedPrivilegesRequired => 'MPR', modifiedUserInteraction => 'MUI', modifiedVulnConfidentialityImpact => 'MVC', modifiedVulnIntegrityImpact => 'MVI', modifiedVulnAvailabilityImpact => 'MVA', modifiedSubConfidentialityImpact => 'MSC', modifiedSubIntegrityImpact => 'MSI', modifiedSubAvailabilityImpact => 'MSA', # Supplemental Safety => 'S', Automatable => 'AU', Recovery => 'R', valueDensity => 'V', vulnerabilityResponseEffort => 'RE', providerUrgency => 'U', }; use constant CVSS4_METRIC_VALUES => { AV => [qw(N A L P)], AC => [qw(L H)], AT => [qw(N P)], PR => [qw(N L H)], UI => [qw(N P A)], VC => [qw(H L N)], VI => [qw(H L N)], VA => [qw(H L N)], SC => [qw(H L N)], SI => [qw(H L N)], SA => [qw(H L N)], E => [qw(X A P U)], CR => [qw(X H M L)], IR => [qw(X H M L)], AR => [qw(X H M L)], MAV => [qw(X N A L P)], MAC => [qw(X L H)], MAT => [qw(X N P)], MPR => [qw(X N L H)], MUI => [qw(X N P A)], MVC => [qw(X H L N)], MVI => [qw(X H L N)], MVA => [qw(X H L N)], MSC => [qw(X H L N)], MSI => [qw(X S H L N)], MSA => [qw(X S H L N)], S => [qw(X N P)], AU => [qw(X N Y)], R => [qw(X A U I)], V => [qw(X D C)], RE => [qw(X L M H)], U => [qw(X Clear Green Amber Red)], }; sub CVSS4_METRIC_NAMES { # Base my $AV = {N => 'NETWORK', A => 'ADJACENT', L => 'LOCAL', P => 'PHYSICAL'}; my $AC = {L => 'LOW', H => 'HIGH'}; my $AT = {N => 'NONE', P => 'PRESENT'}; my $PR = {N => 'NONE', L => 'LOW', H => 'HIGH'}; my $UI = {N => 'NONE', P => 'PASSIVE', A => 'ACTIVE'}; my $VC = {H => 'HIGH', L => 'LOW', N => 'NONE'}; my $VI = {H => 'HIGH', L => 'LOW', N => 'NONE'}; my $VA = {H => 'HIGH', L => 'LOW', N => 'NONE'}; my $SC = {H => 'HIGH', L => 'LOW', N => 'NONE'}; my $SI = {H => 'HIGH', L => 'LOW', N => 'NONE'}; my $SA = {H => 'HIGH', L => 'LOW', N => 'NONE'}; # Threat my $E = {X => 'NOT_DEFINED', A => 'ATTACKED', P => 'PROOF_OF_CONCEPT', U => 'UNREPORTED'}; # Environmental my $CR = {X => 'NOT_DEFINED', H => 'HIGH', M => 'MEDIUM', L => 'LOW'}; my $IR = {X => 'NOT_DEFINED', H => 'HIGH', M => 'MEDIUM', L => 'LOW'}; my $AR = {X => 'NOT_DEFINED', H => 'HIGH', M => 'MEDIUM', L => 'LOW'}; my $MAV = {X => 'NOT_DEFINED', N => 'NETWORK', A => 'ADJACENT', L => 'LOCAL', P => 'PHYSICAL'}; my $MAC = {X => 'NOT_DEFINED', L => 'LOW', H => 'HIGH'}; my $MAT = {X => 'NOT_DEFINED', N => 'NONE', P => 'PRESENT'}; my $MPR = {X => 'NOT_DEFINED', N => 'NONE', L => 'LOW', H => 'HIGH'}; my $MUI = {X => 'NOT_DEFINED', N => 'NONE', P => 'PASSIVE', A => 'ACTIVE'}; my $MVC = {X => 'NOT_DEFINED', H => 'HIGH', L => 'LOW', N => 'NONE'}; my $MVI = {X => 'NOT_DEFINED', H => 'HIGH', L => 'LOW', N => 'NONE'}; my $MVA = {X => 'NOT_DEFINED', H => 'HIGH', L => 'LOW', N => 'NONE'}; my $MSC = {X => 'NOT_DEFINED', H => 'HIGH', L => 'LOW', N => 'NONE'}; my $MSI = {X => 'NOT_DEFINED', S => 'SAFETY', H => 'HIGH', L => 'LOW', N => 'NEGLIGIBLE'}; my $MSA = {X => 'NOT_DEFINED', S => 'SAFETY', H => 'HIGH', L => 'LOW', N => 'NEGLIGIBLE'}; # Supplemental my $S = {X => 'NOT_DEFINED', N => 'NEGLIGIBLE', P => 'PRESENT'}; my $AU = {X => 'NOT_DEFINED', N => 'NO', Y => 'YES'}; my $R = {X => 'NOT_DEFINED', A => 'AUTOMATIC', U => 'USER', I => 'IRRECOVERABLE'}; my $V = {X => 'NOT_DEFINED', D => 'DIFFUSE', C => 'CONCENTRATED'}; my $RE = {X => 'NOT_DEFINED', L => 'LOW', M => 'MODERATE', H => 'HIGH'}; my $U = {X => 'NOT_DEFINED', Clear => 'CLEAR', Green => 'GREEN', Amber => 'AMBER', Red => 'RED'}; return { AV => {json => 'attackVector', values => $AV, names => {reverse(%{$AV})}}, AC => {json => 'attackComplexity', values => $AC, names => {reverse(%{$AC})}}, AT => {json => 'attackRequirements', values => $AT, names => {reverse(%{$AT})}}, PR => {json => 'privilegesRequired', values => $PR, names => {reverse(%{$PR})}}, UI => {json => 'userInteraction', values => $UI, names => {reverse(%{$UI})}}, VC => {json => 'vulnConfidentialityImpact', values => $VC, names => {reverse(%{$VC})}}, VI => {json => 'vulnIntegrityImpact', values => $VI, names => {reverse(%{$VI})}}, VA => {json => 'vulnAvailabilityImpact', values => $VA, names => {reverse(%{$VA})}}, SC => {json => 'subConfidentialityImpact', values => $SC, names => {reverse(%{$SC})}}, SI => {json => 'subIntegrityImpact', values => $SI, names => {reverse(%{$SI})}}, SA => {json => 'subAvailabilityImpact', values => $SA, names => {reverse(%{$SA})}}, E => {json => 'exploitMaturity', values => $SA, names => {reverse(%{$E})}}, CR => {json => 'confidentialityRequirement', values => $CR, names => {reverse(%{$CR})}}, IR => {json => 'integrityRequirement', values => $IR, names => {reverse(%{$IR})}}, AR => {json => 'availabilityRequirement', values => $AR, names => {reverse(%{$AR})}}, MAV => {json => 'modifiedAttackVector', values => $MAV, names => {reverse(%{$MAV})}}, MAC => {json => 'modifiedAttackComplexity', values => $MAC, names => {reverse(%{$MAC})}}, MAT => {json => 'modifiedAttackRequirements', values => $MAT, names => {reverse(%{$MAT})}}, MPR => {json => 'modifiedPrivilegesRequired', values => $MPR, names => {reverse(%{$MPR})}}, MUI => {json => 'modifiedUserInteraction', values => $MUI, names => {reverse(%{$MUI})}}, MVC => {json => 'modifiedVulnConfidentialityImpact', values => $MVC, names => {reverse(%{$MVC})}}, MVI => {json => 'modifiedVulnIntegrityImpact', values => $MVI, names => {reverse(%{$MVI})}}, MVA => {json => 'modifiedVulnAvailabilityImpact', values => $MVA, names => {reverse(%{$MVA})}}, MSC => {json => 'modifiedSubConfidentialityImpact', values => $MSC, names => {reverse(%{$MSC})}}, MSI => {json => 'modifiedSubIntegrityImpact', values => $MSI, names => {reverse(%{$MSI})}}, MSA => {json => 'modifiedSubAvailabilityImpact', values => $MSA, names => {reverse(%{$MSA})}}, S => {json => 'Safety', values => $S, names => {reverse(%{$S})}}, AU => {json => 'Automatable', values => $AU, names => {reverse(%{$AU})}}, R => {json => 'Recovery', values => $R, names => {reverse(%{$R})}}, V => {json => 'valueDensity', values => $V, names => {reverse(%{$V})}}, RE => {json => 'vulnerabilityResponseEffort', values => $RE, names => {reverse(%{$RE})}}, U => {json => 'providerUrgency', values => $U, names => {reverse(%{$U})}}, }; } 1; __END__ =pod =head1 NAME CVSS::Constants - Internal constants =head1 DESCRIPTION These are constants for internal CVSS use. =head1 SEE ALSO L =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L git clone https://github.com/giterlizzi/perl-CVSS.git =head1 AUTHOR =over 4 =item * Giuseppe Di Terlizzi =back =head1 LICENSE AND COPYRIGHT This software is copyright (c) 2023-2025 by Giuseppe Di Terlizzi. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut CVSS-1.14/lib/CVSS/v2.pm0000644000175000017500000001600115032254144013430 0ustar peppepeppepackage CVSS::v2; use feature ':5.10'; use strict; use utf8; use warnings; use Carp (); use List::Util qw(min); use base 'CVSS::Base'; use CVSS::Constants (); our $VERSION = '1.14'; $VERSION =~ tr/_//d; ## no critic use constant DEBUG => $ENV{CVSS_DEBUG}; my $WEIGHTS = CVSS::Constants->CVSS2_WEIGHTS; sub ATTRIBUTES { CVSS::Constants->CVSS2_ATTRIBUTES } sub SCORE_SEVERITY { CVSS::Constants->CVSS2_SCORE_SEVERITY } sub NOT_DEFINED_VALUE { CVSS::Constants->CVSS2_NOT_DEFINED_VALUE } sub VECTOR_STRING_REGEX { CVSS::Constants->CVSS2_VECTOR_STRING_REGEX } sub METRIC_GROUPS { CVSS::Constants->CVSS2_METRIC_GROUPS } sub METRIC_NAMES { CVSS::Constants->CVSS2_METRIC_NAMES } sub METRIC_VALUES { CVSS::Constants->CVSS2_METRIC_VALUES } sub version {'2.0'} sub weight { my ($self, $metric) = @_; my $value = $self->M($metric); my $weight = $WEIGHTS->{$metric}{$value}; DEBUG and say STDERR "-- Weight : $metric:$value = $weight"; return $weight; } sub W { weight(@_) } sub calculate_score { my ($self, $args) = @_; if (%{$self->metrics}) { for (@{$self->METRIC_GROUPS->{base}}) { Carp::croak sprintf('Missing base metric (%s)', $_) unless ($self->metrics->{$_}); } } # Set NOT_DEFINED $self->metrics->{E} //= 'ND'; $self->metrics->{RL} //= 'ND'; $self->metrics->{RC} //= 'ND'; $self->metrics->{TD} //= 'ND'; $self->metrics->{CR} //= 'ND'; $self->metrics->{IR} //= 'ND'; $self->metrics->{AR} //= 'ND'; # Base Equation # BaseScore = round_to_1_decimal(((0.6*Impact)+(0.4*Exploitability)-1.5)*f(Impact)) # Impact = 10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact)) # Exploitability = 20* AccessVector*AccessComplexity*Authentication # f(impact)= 0 if Impact=0, 1.176 otherwise my $impact = (10.41 * (1 - (1 - $self->W('C')) * (1 - $self->W('I')) * (1 - $self->W('A')))); my $exploitability = (20 * $self->W('AV') * $self->W('AC') * $self->W('Au')); my $f_impact = ($impact == 0 ? 0 : 1.176); my $base_score = sprintf('%.1f', (((0.6 * $impact) + (0.4 * $exploitability) - 1.5) * $f_impact)); DEBUG and say STDERR "-- Impact: $impact"; DEBUG and say STDERR "-- f(Impact): $f_impact"; DEBUG and say STDERR "-- Exploitability: $exploitability"; DEBUG and say STDERR "-- BaseScore: $base_score"; $self->{scores}->{impact} = sprintf('%.1f', $impact); $self->{scores}->{base} = $base_score; $self->{scores}->{exploitability} = sprintf('%.1f', $exploitability); if ($self->metric_group_is_set('temporal')) { # Temporal Equation # TemporalScore = round_to_1_decimal(BaseScore * Exploitability * RemediationLevel * ReportConfidence) my $temporal_score = sprintf('%.1f', ($base_score * $self->W('E') * $self->W('RL') * $self->W('RC'))); DEBUG and say STDERR "-- TemporalScore: $temporal_score"; $self->{scores}->{temporal} = $temporal_score; } if ($self->M('CDP')) { # Environmental Equation # EnvironmentalScore = round_to_1_decimal((AdjustedTemporal+ # (10-AdjustedTemporal)*CollateralDamagePotential)*TargetDistribution) # AdjustedTemporal = TemporalScore recomputed with the BaseScore's Impact sub- # equation replaced with the AdjustedImpact equation # AdjustedImpact = min(10,10.41*(1-(1-ConfImpact*ConfReq)*(1-IntegImpact*IntegReq) # *(1-AvailImpact*AvailReq))) # AdjustedTemporal = quickRound(AdjustedBaseScore * Exploitability * RemediationLevel * ReportConfidence) # AdjustedBaseScore = quickRound((0.6 * AdjustedImpact + 0.4 * Exploitability - 1.5) * f(Impact)) my $adj_impact = min( 10, 10.41 * ( 1 - (1 - $self->W('C') * $self->W('CR')) * (1 - $self->W('I') * $self->W('IR')) * (1 - $self->W('A') * $self->W('AR')) ) ); $adj_impact = 10 if ($adj_impact > 10); my $adj_base_score = ((0.6 * $adj_impact + 0.4 * $exploitability - 1.5) * $f_impact); my $adj_temporal = ($adj_base_score * $self->W('E') * $self->W('RL') * $self->W('RC')); my $environmental_score = sprintf('%.1f', (($adj_temporal + (10 - $adj_temporal) * $self->W('CDP')) * $self->W('TD'))); DEBUG and say STDERR "-- AdjustedImpact: $adj_impact"; DEBUG and say STDERR "-- AdjustedTemporal: $adj_temporal"; DEBUG and say STDERR "-- EnvironmentalScore: $environmental_score"; $self->{scores}->{environmental} = $environmental_score; $self->{scores}->{modified_impact} = sprintf('%.1f', $adj_impact); } return 1; } 1; __END__ =pod =head1 NAME CVSS::v2 - Parse and calculate CVSS v2.0 scores =head1 SYNOPSIS use CVSS::v2; my $cvss = CVSS::v2->from_vector_string('AV:N/AC:L/Au:N/C:N/I:N/A:C'); say $cvss->AV; # N say $cvss->accessVector; # NETWORK =head1 DESCRIPTION =head2 METHODS L inherits all methods from L and implements the following new ones. =over =item $cvss-weight ( $metric ) Return the weight of provided metric. =item $cvss->W ( $metric ) Alias of C. =back =head3 BASE METRICS =over =item $cvss->AV | $cvss->accessVector =item $cvss->AC | $cvss->accessComplexity =item $cvss->Au | $cvss->authentication =item $cvss->C | $cvss->confidentialityImpact =item $cvss->I | $cvss->integrityImpact =item $cvss->A | $cvss->availabilityImpact =back =head3 TEMPORAL METRICS =over =item $cvss->E | $cvss->exploitability =item $cvss->RL | $cvss->remediationLevel =item $cvss->RC | $cvss->reportConfidence =back =head3 ENVIRONMENTAL METRICS =over =item $cvss->CDP | $cvss->collateralDamagePotential =item $cvss->TD | $cvss->targetDistribution =item $cvss->CR | $cvss->confidentialityRequirement =item $cvss->IR | $cvss->integrityRequirement =item $cvss->AR | $cvss->availabilityRequirement =back =head1 SEE ALSO L, L, L =over 4 =item [FIRST] CVSS Data Representations (L) =item [FIRST] CVSS v2.0 Complete Guide (L) =back =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L git clone https://github.com/giterlizzi/perl-CVSS.git =head1 AUTHOR =over 4 =item * Giuseppe Di Terlizzi =back =head1 LICENSE AND COPYRIGHT This software is copyright (c) 2023-2025 by Giuseppe Di Terlizzi. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut CVSS-1.14/lib/CVSS/v4.pm0000644000175000017500000007141715032254177013454 0ustar peppepeppepackage CVSS::v4; use feature ':5.10'; use strict; use utf8; use warnings; use Carp (); use List::Util qw(max min); use base 'CVSS::Base'; use CVSS::Constants (); our $VERSION = '1.14'; $VERSION =~ tr/_//d; ## no critic use constant DEBUG => $ENV{CVSS_DEBUG}; sub ATTRIBUTES { CVSS::Constants->CVSS4_ATTRIBUTES } sub SCORE_SEVERITY { CVSS::Constants->CVSS4_SCORE_SEVERITY } sub NOT_DEFINED_VALUE { CVSS::Constants->CVSS4_NOT_DEFINED_VALUE } sub VECTOR_STRING_REGEX { CVSS::Constants->CVSS4_VECTOR_STRING_REGEX } sub METRIC_GROUPS { CVSS::Constants->CVSS4_METRIC_GROUPS } sub METRIC_NAMES { CVSS::Constants->CVSS4_METRIC_NAMES } sub METRIC_VALUES { CVSS::Constants->CVSS4_METRIC_VALUES } my $MAX_COMPOSED = CVSS::Constants->CVSS4_MAX_COMPOSED; my $CVSS_LOOKUP_GLOBAL = CVSS::Constants->CVSS4_LOOKUP_GLOBAL; my $MAX_SEVERITY = CVSS::Constants->CVSS4_MAX_SEVERITY; sub version {'4.0'} sub macro_vector { my ($self) = @_; my $eq1 = undef; my $eq2 = undef; my $eq3 = undef; my $eq4 = undef; my $eq5 = undef; my $eq6 = undef; # Specification https://www.first.org/cvss/v4.0/specification-document # EQ1 (Table 24) # Levels Constraints # 0 AV:N and PR:N and UI:N # 1 (AV:N or PR:N or UI:N) and not (AV:N and PR:N and UI:N) and not AV:P # 2 AV:P or not(AV:N or PR:N or UI:N) $eq1 = 0 if ($self->M('AV') eq 'N' && $self->M('PR') eq 'N' && $self->M('UI') eq 'N'); $eq1 = 1 if (($self->M('AV') eq 'N' || $self->M('PR') eq 'N' || $self->M('UI') eq 'N') && !($self->M('AV') eq 'N' && $self->M('PR') eq 'N' && $self->M('UI') eq 'N') && !($self->M('AV') eq 'P')); $eq1 = 2 if ($self->M('AV') eq 'P' || !($self->M('AV') eq 'N' || $self->M('PR') eq 'N' || $self->M('UI') eq 'N')); DEBUG and say STDERR "-- MacroVector - EQ1 : $eq1"; # EQ2 (Table 25) # Levels Constraints # 0 AC:L and AT:N # 1 not (AC:L and AT:N) $eq2 = 0 if ($self->M('AC') eq 'L' && $self->M('AT') eq 'N'); $eq2 = 1 if (!($self->M('AC') eq 'L' && $self->M('AT') eq 'N')); DEBUG and say STDERR "-- MacroVector - EQ2 : $eq2"; # EQ3 (Table 26) # Levels Constraints # 0 VC:H and VI:H # 1 not (VC:H and VI:H) and (VC:H or VI:H or VA:H) # 2 not (VC:H or VI:H or VA:H) $eq3 = 0 if ($self->M('VC') eq 'H' && $self->M('VI') eq 'H'); $eq3 = 1 if (!($self->M('VC') eq 'H' && $self->M('VI') eq 'H') && ($self->M('VC') eq 'H' || $self->M('VI') eq 'H' || $self->M('VA') eq 'H')); $eq3 = 2 if (!($self->M('VC') eq 'H' || $self->M('VI') eq 'H' || $self->M('VA') eq 'H')); DEBUG and say STDERR "-- MacroVector - EQ3 : $eq3"; # EQ4 (Table 27) # Levels Constraints # 0 MSI:S or MSA:S # 1 not (MSI:S or MSA:S) and (SC:H or SI:H or SA:H) # 2 not (MSI:S or MSA:S) and not (SC:H or SI:H or SA:H) $eq4 = 0 if ($self->M('MSI') eq 'S' || $self->M('MSA') eq 'S'); $eq4 = 1 if (!($self->M('MSI') eq 'S' || $self->M('MSA') eq 'S') && ($self->M('SC') eq 'H' || $self->M('SI') eq 'H' || $self->M('SA') eq 'H')); $eq4 = 2 if (!($self->M('MSI') eq 'S' || $self->M('MSA') eq 'S') && !(($self->M('SC') eq 'H' || $self->M('SI') eq 'H' || $self->M('SA') eq 'H'))); DEBUG and say STDERR "-- MacroVector - EQ4 : $eq4"; # EQ5 (Table 28) # Levels Constraints # 0 E:A # 1 E:P # 2 E:U $eq5 = 0 if ($self->M('E') eq 'A'); $eq5 = 1 if ($self->M('E') eq 'P'); $eq5 = 2 if ($self->M('E') eq 'U'); DEBUG and say STDERR "-- MacroVector - EQ5 : $eq5"; # EQ6 (Table 29) # Levels Constraints # 0 (CR:H and VC:H) or (IR:H and VI:H) or (AR:H and VA:H) # 1 not (CR:H and VC:H) and not (IR:H and VI:H) and not (AR:H and VA:H) $eq6 = 0 if (($self->M('CR') eq 'H' && $self->M('VC') eq 'H') || ($self->M('IR') eq 'H' && $self->M('VI') eq 'H') || ($self->M('AR') eq 'H' && $self->M('VA') eq 'H')); $eq6 = 1 if (!($self->M('CR') eq 'H' && $self->M('VC') eq 'H') && !($self->M('IR') eq 'H' && $self->M('VI') eq 'H') && !($self->M('AR') eq 'H' && $self->M('VA') eq 'H')); DEBUG and say STDERR "-- MacroVector - EQ6 : $eq6"; my @macro_vector = ($eq1, $eq2, $eq3, $eq4, $eq5, $eq6); my $macro_vector = join '', @macro_vector; DEBUG and say STDERR "-- MacroVector : $macro_vector"; my $SEVERITY = {0 => 'HIGH', 1 => 'MEDIUM', 2 => 'LOW'}; $self->{exploitability} = $SEVERITY->{$eq1}; DEBUG and say STDERR "-- MacroVector EQ1 - Exploitability : $self->{exploitability}"; $self->{complexity} = $SEVERITY->{$eq2}; DEBUG and say STDERR "-- MacroVector EQ2 - Complexity : $self->{complexity}"; $self->{vulnerable_system} = $SEVERITY->{$eq3}; DEBUG and say STDERR "-- MacroVector EQ3 - Vulnerable System : $self->{vulnerable_system}"; $self->{subsequent_system} = $SEVERITY->{$eq4}; DEBUG and say STDERR "-- MacroVector EQ4 - Subsequent System : $self->{subsequent_system}"; $self->{exploitation} = $SEVERITY->{$eq5}; DEBUG and say STDERR "-- MacroVector EQ5 - Exploitation : $self->{exploitation}"; $self->{security_requirements} = $SEVERITY->{$eq6}; DEBUG and say STDERR "-- MacroVector EQ6 - Security Requirements : $self->{security_requirements}"; return wantarray ? @macro_vector : "$macro_vector"; } sub exploitability { shift->{exploitability} } sub complexity { shift->{complexity} } sub vulnerable_system { shift->{vulnerable_system} } sub subsequent_system { shift->{subsequent_system} } sub exploitation { shift->{exploitation} } sub security_requirements { shift->{security_requirements} } sub M { my ($self, $metric) = @_; my $value = $self->SUPER::M($metric); # (From table 12) # This is the default value and is equivalent to Attacked (A) for the # purposes of the calculation of the score by assuming the worst case. return 'A' if ($metric eq 'E' && $value eq 'X'); # (From table 13) # [...] This is the default value. Assigning this value indicates there is # insufficient information to choose one of the other values. This has the # same effect as assigning High as the worst case. return 'H' if ($metric eq 'CR' && $value eq 'X'); return 'H' if ($metric eq 'IR' && $value eq 'X'); return 'H' if ($metric eq 'AR' && $value eq 'X'); return $value; } sub calculate_score { my ($self) = @_; if (%{$self->metrics}) { for (@{$self->METRIC_GROUPS->{base}}) { Carp::croak sprintf('Missing base metric (%s)', $_) unless ($self->metrics->{$_}); } } # Set NOT_DEFINED $self->metrics->{E} //= 'X'; $self->metrics->{CR} //= 'X'; $self->metrics->{IR} //= 'X'; $self->metrics->{AR} //= 'X'; $self->metrics->{MAV} //= 'X'; $self->metrics->{MAC} //= 'X'; $self->metrics->{MAT} //= 'X'; $self->metrics->{MPR} //= 'X'; $self->metrics->{MUI} //= 'X'; $self->metrics->{MVC} //= 'X'; $self->metrics->{MVI} //= 'X'; $self->metrics->{MVA} //= 'X'; $self->metrics->{MSC} //= 'X'; $self->metrics->{MSI} //= 'X'; $self->metrics->{MSA} //= 'X'; $self->metrics->{S} //= 'X'; $self->metrics->{AU} //= 'X'; $self->metrics->{R} //= 'X'; $self->metrics->{V} //= 'X'; $self->metrics->{RE} //= 'X'; $self->metrics->{U} //= 'X'; # The following defines the index of each metric's values. # It is used when looking for the highest vector part of the # combinations produced by the MacroVector respective highest vectors. my $AV_levels = {N => 0.0, A => 0.1, L => 0.2, P => 0.3}; my $PR_levels = {N => 0.0, L => 0.1, H => 0.2}; my $UI_levels = {N => 0.0, P => 0.1, A => 0.2}; my $AC_levels = {L => 0.0, H => 0.1}; my $AT_levels = {N => 0.0, P => 0.1}; my $VC_levels = {H => 0.0, L => 0.1, N => 0.2}; my $VI_levels = {H => 0.0, L => 0.1, N => 0.2}; my $VA_levels = {H => 0.0, L => 0.1, N => 0.2}; my $SC_levels = {H => 0.1, L => 0.2, N => 0.3}; my $SI_levels = {S => 0.0, H => 0.1, L => 0.2, N => 0.3}; my $SA_levels = {S => 0.0, H => 0.1, L => 0.2, N => 0.3}; my $CR_levels = {H => 0.0, M => 0.1, L => 0.2}; my $IR_levels = {H => 0.0, M => 0.1, L => 0.2}; my $AR_levels = {H => 0.0, M => 0.1, L => 0.2}; my $E_levels = {U => 0.2, P => 0.1, A => 0.0}; if ( $self->M('VC') eq 'N' && $self->M('VI') eq 'N' && $self->M('VA') eq 'N' && $self->M('SC') eq 'N' && $self->M('SI') eq 'N' && $self->M('SA') eq 'N') { $self->{scores}->{base} = '0.0'; return 1; } my @macro_vector = $self->macro_vector; my $macro_vector = join '', @macro_vector; $self->{macro_vector} = $macro_vector; my ($eq1, $eq2, $eq3, $eq4, $eq5, $eq6) = @macro_vector; my $value = $CVSS_LOOKUP_GLOBAL->{$macro_vector}; my $eq1_next_lower_macro = join '', ($eq1 + 1, $eq2, $eq3, $eq4, $eq5, $eq6); my $eq2_next_lower_macro = join '', ($eq1, $eq2 + 1, $eq3, $eq4, $eq5, $eq6); my $eq3eq6_next_lower_macro = undef; my $eq3eq6_next_lower_macro_left = undef; my $eq3eq6_next_lower_macro_right = undef; if ($eq3 == 1 && $eq6 == 1) { $eq3eq6_next_lower_macro = join '', ($eq1, $eq2, $eq3 + 1, $eq4, $eq5, $eq6); } elsif ($eq3 == 0 && $eq6 == 1) { $eq3eq6_next_lower_macro = join '', ($eq1, $eq2, $eq3 + 1, $eq4, $eq5, $eq6); } elsif ($eq3 == 1 && $eq6 == 0) { $eq3eq6_next_lower_macro = join '', ($eq1, $eq2, $eq3, $eq4, $eq5, $eq6 + 1); } elsif ($eq3 == 0 && $eq6 == 0) { $eq3eq6_next_lower_macro_left = join '', ($eq1, $eq2, $eq3, $eq4, $eq5, $eq6 + 1); $eq3eq6_next_lower_macro_right = join '', ($eq1, $eq2, $eq3 + 1, $eq4, $eq5, $eq6); } else { $eq3eq6_next_lower_macro = join '', ($eq1, $eq2, $eq3 + 1, $eq4, $eq5, $eq6 + 1); } my $eq4_next_lower_macro = join '', ($eq1, $eq2, $eq3, $eq4 + 1, $eq5, $eq6); my $eq5_next_lower_macro = join '', ($eq1, $eq2, $eq3, $eq4, $eq5 + 1, $eq6); my $score_eq1_next_lower_macro = $CVSS_LOOKUP_GLOBAL->{$eq1_next_lower_macro} || 'NaN'; my $score_eq2_next_lower_macro = $CVSS_LOOKUP_GLOBAL->{$eq2_next_lower_macro} || 'NaN'; my $score_eq3eq6_next_lower_macro_left = undef; my $score_eq3eq6_next_lower_macro_right = undef; my $score_eq3eq6_next_lower_macro = undef; if ($eq3 == 0 && $eq6 == 0) { # multiple path take the one with higher score $score_eq3eq6_next_lower_macro_left = $CVSS_LOOKUP_GLOBAL->{$eq3eq6_next_lower_macro_left} || 'NaN'; $score_eq3eq6_next_lower_macro_right = $CVSS_LOOKUP_GLOBAL->{$eq3eq6_next_lower_macro_right} || 'NaN'; $score_eq3eq6_next_lower_macro = max($score_eq3eq6_next_lower_macro_left, $score_eq3eq6_next_lower_macro_right); } else { $score_eq3eq6_next_lower_macro = $CVSS_LOOKUP_GLOBAL->{$eq3eq6_next_lower_macro} || 'NaN'; } my $score_eq4_next_lower_macro = $CVSS_LOOKUP_GLOBAL->{$eq4_next_lower_macro} || 'NaN'; my $score_eq5_next_lower_macro = $CVSS_LOOKUP_GLOBAL->{$eq5_next_lower_macro} || 'NaN'; # b. The severity distance of the to-be scored vector from a # highest severity vector in the same MacroVector is determined. my $eq1_maxes = $MAX_COMPOSED->{eq1}->{$eq1}; my $eq2_maxes = $MAX_COMPOSED->{eq2}->{$eq2}; my $eq3_eq6_maxes = $MAX_COMPOSED->{eq3}->{$eq3}->{$eq6}; my $eq4_maxes = $MAX_COMPOSED->{eq4}->{$eq4}; my $eq5_maxes = $MAX_COMPOSED->{eq5}->{$eq5}; # compose them my @max_vectors = (); for my $eq1_max (@{$eq1_maxes}) { for my $eq2_max (@{$eq2_maxes}) { for my $eq3_eq6_max (@{$eq3_eq6_maxes}) { for my $eq4_max (@{$eq4_maxes}) { for my $eq5_max (@{$eq5_maxes}) { push @max_vectors, join '', ($eq1_max, $eq2_max, $eq3_eq6_max, $eq4_max, $eq5_max); } } } } } DEBUG and say STDERR "-- MaxVectors: @max_vectors"; my $severity_distance_AV = undef; my $severity_distance_PR = undef; my $severity_distance_UI = undef; my $severity_distance_AC = undef; my $severity_distance_AT = undef; my $severity_distance_VC = undef; my $severity_distance_VI = undef; my $severity_distance_VA = undef; my $severity_distance_SC = undef; my $severity_distance_SI = undef; my $severity_distance_SA = undef; my $severity_distance_CR = undef; my $severity_distance_IR = undef; my $severity_distance_AR = undef; # Find the max vector to use i.e. one in the combination of all the highests # that is greater or equal (severity distance) than the to-be scored vector. DISTANCE: foreach my $max_vector (@max_vectors) { $severity_distance_AV = $AV_levels->{$self->M("AV")} - $AV_levels->{$self->extract_value_metric("AV", $max_vector)}; $severity_distance_PR = $PR_levels->{$self->M("PR")} - $PR_levels->{$self->extract_value_metric("PR", $max_vector)}; $severity_distance_UI = $UI_levels->{$self->M("UI")} - $UI_levels->{$self->extract_value_metric("UI", $max_vector)}; $severity_distance_AC = $AC_levels->{$self->M("AC")} - $AC_levels->{$self->extract_value_metric("AC", $max_vector)}; $severity_distance_AT = $AT_levels->{$self->M("AT")} - $AT_levels->{$self->extract_value_metric("AT", $max_vector)}; $severity_distance_VC = $VC_levels->{$self->M("VC")} - $VC_levels->{$self->extract_value_metric("VC", $max_vector)}; $severity_distance_VI = $VI_levels->{$self->M("VI")} - $VI_levels->{$self->extract_value_metric("VI", $max_vector)}; $severity_distance_VA = $VA_levels->{$self->M("VA")} - $VA_levels->{$self->extract_value_metric("VA", $max_vector)}; $severity_distance_SC = $SC_levels->{$self->M("SC")} - $SC_levels->{$self->extract_value_metric("SC", $max_vector)}; $severity_distance_SI = $SI_levels->{$self->M("SI")} - $SI_levels->{$self->extract_value_metric("SI", $max_vector)}; $severity_distance_SA = $SA_levels->{$self->M("SA")} - $SA_levels->{$self->extract_value_metric("SA", $max_vector)}; $severity_distance_CR = $CR_levels->{$self->M("CR")} - $CR_levels->{$self->extract_value_metric("CR", $max_vector)}; $severity_distance_IR = $IR_levels->{$self->M("IR")} - $IR_levels->{$self->extract_value_metric("IR", $max_vector)}; $severity_distance_AR = $AR_levels->{$self->M("AR")} - $AR_levels->{$self->extract_value_metric("AR", $max_vector)}; my @check = ( $severity_distance_AV, $severity_distance_PR, $severity_distance_UI, $severity_distance_AC, $severity_distance_AT, $severity_distance_VC, $severity_distance_VI, $severity_distance_VA, $severity_distance_SC, $severity_distance_SI, $severity_distance_SA, $severity_distance_CR, $severity_distance_IR, $severity_distance_AR ); # if any is less than zero this is not the right max foreach (@check) { next DISTANCE if ($_ < 0); } # if multiple maxes exist to reach it it is enough the first one last; } my $step = 0.1; my $current_severity_distance_eq1 = ($severity_distance_AV + $severity_distance_PR + $severity_distance_UI); my $current_severity_distance_eq2 = ($severity_distance_AC + $severity_distance_AT); my $current_severity_distance_eq3eq6 = ( $severity_distance_VC + $severity_distance_VI + $severity_distance_VA + $severity_distance_CR + $severity_distance_IR + $severity_distance_AR); my $current_severity_distance_eq4 = ($severity_distance_SC + $severity_distance_SI + $severity_distance_SA); my $current_severity_distance_eq5 = 0; # if the next lower macro score do not exist the result is Nan # Rename to maximal scoring difference (aka MSD) my $available_distance_eq1 = $value - $score_eq1_next_lower_macro; my $available_distance_eq2 = $value - $score_eq2_next_lower_macro; my $available_distance_eq3eq6 = $value - $score_eq3eq6_next_lower_macro; my $available_distance_eq4 = $value - $score_eq4_next_lower_macro; my $available_distance_eq5 = $value - $score_eq5_next_lower_macro; my $percent_to_next_eq1_severity = 0; my $percent_to_next_eq2_severity = 0; my $percent_to_next_eq3eq6_severity = 0; my $percent_to_next_eq4_severity = 0; my $percent_to_next_eq5_severity = 0; my $normalized_severity_eq1 = 0; my $normalized_severity_eq2 = 0; my $normalized_severity_eq3eq6 = 0; my $normalized_severity_eq4 = 0; my $normalized_severity_eq5 = 0; # multiply by step because distance is pure my $max_severity_eq1 = $MAX_SEVERITY->{eq1}->{$eq1} * $step; my $max_severity_eq2 = $MAX_SEVERITY->{eq2}->{$eq2} * $step; my $max_severity_eq3eq6 = $MAX_SEVERITY->{eq3eq6}->{$eq3}->{$eq6} * $step; my $max_severity_eq4 = $MAX_SEVERITY->{eq4}->{$eq4} * $step; # c. The proportion of the distance is determined by dividing # the severity distance of the to-be-scored vector by the depth # of the MacroVector. # d. The maximal scoring difference is multiplied by the proportion of # distance. my $n_existing_lower = 0; if (!isNaN($available_distance_eq1) && $available_distance_eq1 >= 0) { $n_existing_lower += 1; $percent_to_next_eq1_severity = ($current_severity_distance_eq1) / $max_severity_eq1; $normalized_severity_eq1 = $available_distance_eq1 * $percent_to_next_eq1_severity; } if (!isNaN($available_distance_eq2) && $available_distance_eq2 >= 0) { $n_existing_lower += 1; $percent_to_next_eq2_severity = ($current_severity_distance_eq2) / $max_severity_eq2; $normalized_severity_eq2 = $available_distance_eq2 * $percent_to_next_eq2_severity; } if (!isNaN($available_distance_eq3eq6) && $available_distance_eq3eq6 >= 0) { $n_existing_lower += 1; $percent_to_next_eq3eq6_severity = ($current_severity_distance_eq3eq6) / $max_severity_eq3eq6; $normalized_severity_eq3eq6 = $available_distance_eq3eq6 * $percent_to_next_eq3eq6_severity; } if (!isNaN($available_distance_eq4) && $available_distance_eq4 >= 0) { $n_existing_lower += 1; $percent_to_next_eq4_severity = ($current_severity_distance_eq4) / $max_severity_eq4; $normalized_severity_eq4 = $available_distance_eq4 * $percent_to_next_eq4_severity; } if (!isNaN($available_distance_eq5) && $available_distance_eq5 >= 0) { $n_existing_lower += 1; $percent_to_next_eq5_severity = 0; $normalized_severity_eq5 = $available_distance_eq5 * $percent_to_next_eq5_severity; } my $mean_distance = undef; # 2. The mean of the above computed proportional distances is computed. if ($n_existing_lower == 0) { $mean_distance = 0; } else { # sometimes we need to go up but there is nothing there, or down but there is nothing there so it's a change of 0. $mean_distance = ( $normalized_severity_eq1 + $normalized_severity_eq2 + $normalized_severity_eq3eq6 + $normalized_severity_eq4 + $normalized_severity_eq5) / $n_existing_lower; } # / DEBUG and say STDERR "-- Value: $value - MeanDistance: $mean_distance"; # 3. The score of the vector is the score of the MacroVector # (i.e. the score of the highest severity vector) minus the mean # distance so computed. This score is rounded to one decimal place. $value -= $mean_distance; DEBUG and say STDERR "-- Value $value"; $value = max(0.0, $value); $value = min(10.0, $value); my $base_score = sprintf('%.1f', $value); DEBUG and say STDERR "-- BaseScore: $base_score ($value)"; $self->{scores}->{base} = $base_score; return 1; } sub extract_value_metric { my ($self, $metric, $vector_string) = @_; my %metrics = split /[\/:]/, $vector_string; return $metrics{$metric}; } sub isNaN { !defined($_[0] <=> 9**9**9) } sub to_xml { my ($self) = @_; my $metric_value_names = $self->METRIC_NAMES; $self->calculate_score unless ($self->base_score); my $version = $self->version; my $metrics = $self->metrics; my $base_score = $self->base_score; my $base_severity = $self->base_severity; my $environmental_score = ''; my $environmental_severity = ''; my $xml_metrics = <<"XML"; $metric_value_names->{AV}->{values}->{$metrics->{AV}} $metric_value_names->{AC}->{values}->{$metrics->{AC}} $metric_value_names->{AT}->{values}->{$metrics->{AT}} $metric_value_names->{PR}->{values}->{$metrics->{PR}} $metric_value_names->{UI}->{values}->{$metrics->{UI}} $metric_value_names->{VC}->{values}->{$metrics->{VC}} $metric_value_names->{VI}->{values}->{$metrics->{VI}} $metric_value_names->{VA}->{values}->{$metrics->{VA}} $metric_value_names->{SC}->{values}->{$metrics->{SC}} $metric_value_names->{SI}->{values}->{$metrics->{SI}} $metric_value_names->{SA}->{values}->{$metrics->{SA}} $base_score $base_severity XML if ($self->metric_group_is_set('threat')) { $xml_metrics .= <<"XML"; $metric_value_names->{E}->{values}->{$metrics->{E}} XML } if ($self->metric_group_is_set('environmental')) { $xml_metrics .= <<"XML"; $metric_value_names->{CR}->{values}->{$metrics->{CR}} $metric_value_names->{IR}->{values}->{$metrics->{IR}} $metric_value_names->{AR}->{values}->{$metrics->{AR}} $metric_value_names->{MAV}->{values}->{$metrics->{MAV}} $metric_value_names->{MAC}->{values}->{$metrics->{MAC}} $metric_value_names->{MAT}->{values}->{$metrics->{MAT}} $metric_value_names->{MPR}->{values}->{$metrics->{MPR}} $metric_value_names->{MUI}->{values}->{$metrics->{MUI}} $metric_value_names->{MVC}->{values}->{$metrics->{MVC}} $metric_value_names->{MVI}->{values}->{$metrics->{MVI}} $metric_value_names->{MVA}->{values}->{$metrics->{MVA}} $metric_value_names->{MSC}->{values}->{$metrics->{MSC}} $metric_value_names->{MSI}->{values}->{$metrics->{MSI}} $metric_value_names->{MSA}->{values}->{$metrics->{MSA}} $environmental_score $environmental_severity XML } if ($self->metric_group_is_set('supplemental')) { $xml_metrics .= <<"XML"; $metric_value_names->{S}->{values}->{$metrics->{S}} $metric_value_names->{AU}->{values}->{$metrics->{AU}} $metric_value_names->{R}->{values}->{$metrics->{R}} $metric_value_names->{V}->{values}->{$metrics->{V}} $metric_value_names->{RE}->{values}->{$metrics->{RE}} $metric_value_names->{U}->{values}->{$metrics->{U}} XML } my $xml = <<"XML"; $xml_metrics XML } 1; 1; __END__ =pod =head1 NAME CVSS::v4 - Parse and calculate CVSS v4.0 scores =head1 DESCRIPTION =head2 METHODS L inherits all methods from L and implements the following new ones. =over =item $cvss->macro_vector Calculate the macro vector. =item $cvss->exploitability Return the Exploitability severity. =item $cvss->complexity Return the Complexity severity. =item $cvss->vulnerable_system Return the Vulnerable System severity. =item $cvss->subsequent_system Return the Subsequent System severity. =item $cvss->exploitation Return the Exploitation severity. =item $cvss->security_requirements Return the Security Requirements severity. =back =head3 BASE METRICS =over =item $cvss->AV | $cvss->attackVector =item $cvss->AC | $cvss->attackComplexity =item $cvss->AT | $cvss->attackRequirements =item $cvss->PR | $cvss->privilegesRequired =item $cvss->UI | $cvss->userInteraction =item $cvss->VC | $cvss->vulnConfidentialityImpact =item $cvss->VI | $cvss->vulnIntegrityImpact =item $cvss->VA | $cvss->vulnAvailabilityImpact =item $cvss->SC | $cvss->subConfidentialityImpact =item $cvss->SI | $cvss->subIntegrityImpact =item $cvss->SA | $cvss->subAvailabilityImpact =back =head3 THREAT METRICS =over =item $cvss->E | $cvss->exploitMaturity =back =head3 ENVIRONMENTAL METRICS =over =item $cvss->CR | $cvss->confidentialityRequirement =item $cvss->IR | $cvss->integrityRequirement =item $cvss->AR | $cvss->availabilityRequirement =item $cvss->MAV | $cvss->modifiedAttackVector =item $cvss->MAC | $cvss->modifiedAttackComplexity =item $cvss->MAT | $cvss->modifiedAttackRequirements =item $cvss->MPR | $cvss->modifiedPrivilegesRequired =item $cvss->MUI | $cvss->modifiedUserInteraction =item $cvss->MVC | $cvss->modifiedVulnConfidentialityImpact =item $cvss->MVI | $cvss->modifiedVulnIntegrityImpact =item $cvss->MVA | $cvss->modifiedVulnAvailabilityImpact =item $cvss->MSC | $cvss->modifiedSubConfidentialityImpact =item $cvss->MSI | $cvss->modifiedSubIntegrityImpact =item $cvss->MSA | $cvss->modifiedSubAvailabilityImpact =back =head3 SUPPLEMENTAL METRICS =over =item $cvss->S | $cvss->Safety =item $cvss->AU | $cvss->Automatable =item $cvss->R | $cvss->Recovery =item $cvss->V | $cvss->valueDensity =item $cvss->RE | $cvss->vulnerabilityResponseEffort =item $cvss->U | $cvss->providerUrgency =back =head1 SEE ALSO L, L, L =over 4 =item [FIRST] CVSS Data Representations (L) =item [FIRST] CVSS v4.0 Specification (L) =back =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L git clone https://github.com/giterlizzi/perl-CVSS.git =head1 AUTHOR =over 4 =item * Giuseppe Di Terlizzi =back =head1 LICENSE AND COPYRIGHT This software is copyright (c) 2023-2025 by Giuseppe Di Terlizzi. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut CVSS-1.14/lib/App/0000755000175000017500000000000015032254714012512 5ustar peppepeppeCVSS-1.14/lib/App/CVSS.pm0000644000175000017500000001013114653444516013633 0ustar peppepeppepackage App::CVSS; use feature ':5.10'; use strict; use warnings; use utf8; use Getopt::Long qw(GetOptionsFromArray :config gnu_compat); use Pod::Usage qw(pod2usage); use Carp (); use JSON::PP (); use Data::Dumper (); use CVSS (); our $VERSION = $CVSS::VERSION; my %options = (format => 'json'); sub _print { print(($_[0] || '') . (defined $options{null} ? "\0" : "\n")) } sub cli_error { my ($error) = @_; $error =~ s/ at .* line \d+.*//; print STDERR "ERROR: $error\n"; } sub run { my ($class, @args) = @_; GetOptionsFromArray( \@args, \%options, qw( help|h man v vector-string=s severity score base-score base-severity temporal-score temporal-severity environmental-score environmental-severity exploitability-score impact-score modified-impact-score null|0 format=s json xml ) ) or pod2usage(-verbose => 0); pod2usage(-exitstatus => 0, -verbose => 2) if defined $options{man}; pod2usage(-exitstatus => 0, -verbose => 0) if defined $options{help}; if (defined $options{v}) { (my $progname = $0) =~ s/.*\///; say <<"VERSION"; $progname version $VERSION Copyright 2023-2024, Giuseppe Di Terlizzi This program is part of the "CVSS" distribution and is free software; you can redistribute it and/or modify it under the same terms as Perl itself. Complete documentation for $progname can be found using 'man $progname' or on the internet at . VERSION return 0; } my ($vector_string) = @args; pod2usage(-verbose => 1) if !$vector_string; $options{format} = 'json' if defined $options{json}; $options{format} = 'xml' if defined $options{xml}; $options{'base-severity'} = 1 if defined $options{severity}; $options{'base-score'} = 1 if defined $options{score}; my $cvss = eval { CVSS->from_vector_string($vector_string) }; if ($@) { cli_error($@); return 1; } if ($options{'base-severity'}) { _print $cvss->base_severity; return 0; } if ($options{'base-score'}) { _print $cvss->base_score; return 0; } if ($cvss->version <= 3.1) { if ($options{'environmental-score'}) { _print $cvss->environmental_score; return 0; } if ($options{'environmental-severity'}) { _print $cvss->environmental_severity; return 0; } if ($options{'temporal-score'}) { _print $cvss->temporal_score; return 0; } if ($options{'temporal-severity'}) { _print $cvss->temporal_severity; return 0; } if ($options{'impact-score'}) { _print $cvss->impact_score; return 0; } if ($options{'exploitability-score'}) { _print $cvss->exploitability_score; return 0; } if ($options{'modified-impact-score'}) { _print $cvss->modified_impact_score; return 0; } } if ($options{format} eq 'json') { print JSON::PP->new->canonical->pretty(1)->convert_blessed(1)->encode($cvss); return 0; } if ($options{format} eq 'xml') { print $cvss->to_xml; return 0; } } 1; __END__ =encoding utf-8 =head1 NAME App::CVSS - CVSS Command Line Interface =head1 SYNOPSIS use App::CVSS qw(run); run(\@ARGV); =head1 DESCRIPTION App::CVSS "Command Line Interface" helper module for C. =over =item App::CVSS->run(@args) Execute the command =item cli_error($error) Clean error =back =head1 AUTHOR L =head1 COPYRIGHT AND LICENSE Copyright © 2023-2024 L You may use and distribute this module according to the same terms that Perl is distributed under. =cut CVSS-1.14/bin/0000755000175000017500000000000015032254714011774 5ustar peppepeppeCVSS-1.14/bin/cvss0000644000175000017500000000421314652771355012711 0ustar peppepeppe#!/usr/bin/perl use strict; use warnings; use utf8; use App::CVSS; exit App::CVSS->run(@ARGV) unless caller(); 1; __END__ =encoding utf-8 =head1 NAME cvss - CVSS (Common Vulnerability Scoring System) command line interface =head1 SYNOPSIS cvss [OPTIONS]...STRING cvss [--help|--man|-v] Options: --help Brief help message --man Full documentation -v Print version --score Base score --severity Base severity --base-score --base-severity --temporal-score --temporal-severity --environmental-score --environmental-severity --exploitability-score --impact-score --modified-impact-score -0, --null Return NULL char instead of new line --format=FORMAT Output format --json JSON output format (--format=json) --xml XML output format (--format=xml) Examples: Decode the provided CVSS vector string: cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --json | jq Display the base score: cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --base-score Display the base severity: cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --base-severity =head1 DESCRIPTION C CVSS (Common Vulnerability Scoring System) command line interface =head1 EXAMPLES Decode the provided CVSS vector string and return JSON and send the STDOUT to L: cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --json | jq Display the base score: cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --base-score Display the base severity: cvss CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H --base-severity =head1 AUTHOR L =head1 COPYRIGHT AND LICENSE Copyright © 2023-2024 L You may use and distribute this module according to the same terms that Perl is distributed under. CVSS-1.14/INSTALL.md0000644000175000017500000000537614652252061012667 0ustar peppepeppe# CVSS - Perl extension for CVSS (Common Vulnerability Scoring System) 2.0/3.x/4.0 The INSTALL is used to introduce the module and provide instructions on how to install the module, any machine dependencies it may have (for example C compilers and installed libraries) and any other information that should be provided before the module is installed. ## INSTALLATION Using Makefile.PL: To install this module, run the following commands. perl Makefile.PL make make test make install Using App::cpanminus: cpanm URI::PackageURL ## SUPPORT AND DOCUMENTATION After installing, you can find documentation for this module with the perldoc command. perldoc CVSS You can also look for information at: * GitHub issues (report bugs here) https://github.com/giterlizzi/perl-CVSS/issues ## LICENSE AND COPYRIGHT Copyright (C) 2023-2024 Giuseppe Di Terlizzi This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). You may obtain a copy of the full license at: http://www.perlfoundation.org/artistic_license_2_0 Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license. If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license. This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder. This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed. Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. CVSS-1.14/Makefile.PL0000644000175000017500000000207615032254703013201 0ustar peppepeppe#!perl use strict; use warnings; use ExtUtils::MakeMaker; WriteMakefile( NAME => 'CVSS', AUTHOR => q{Giuseppe Di Terlizzi }, VERSION_FROM => 'lib/CVSS.pm', LICENSE => 'artistic_2', EXE_FILES => ['bin/cvss'], MIN_PERL_VERSION => 5.010, PL_FILES => {}, CONFIGURE_REQUIRES => {'ExtUtils::MakeMaker' => '0'}, TEST_REQUIRES => {'Test::More' => '0', 'JSON::PP' => '0'}, PREREQ_PM => {'List::Util' => '0', 'JSON::PP' => '0'}, META_MERGE => { 'meta-spec' => {version => 2}, 'resources' => { bugtracker => {web => 'https://github.com/giterlizzi/perl-CVSS/issues'}, repository => { type => 'git', url => 'git://github.com/giterlizzi/perl-CVSS', web => 'https://github.com/giterlizzi/perl-CVSS' }, }, x_purl => 'pkg:cpan/GDT/CVSS' }, dist => {COMPRESS => 'gzip -9f', SUFFIX => 'gz'}, clean => {FILES => 'CVSS-*'}, ); CVSS-1.14/MANIFEST0000644000175000017500000000076015032254715012361 0ustar peppepeppebin/cvss Changes INSTALL.md lib/App/CVSS.pm lib/CVSS.pm lib/CVSS/Base.pm lib/CVSS/Constants.pm lib/CVSS/v2.pm lib/CVSS/v3.pm lib/CVSS/v4.pm LICENSE Makefile.PL MANIFEST This list of files README.md t/00-load.t t/10-cvss2.t t/10-cvss3.t t/10-cvss4.t t/11-builder.t t/20-cli.t t/kwalitee.t t/manifest.t t/pod-coverage.t t/pod.t META.yml Module YAML meta-data (added by MakeMaker) META.json Module JSON meta-data (added by MakeMaker) CVSS-1.14/META.yml0000644000175000017500000000135615032254714012502 0ustar peppepeppe--- abstract: unknown author: - 'Giuseppe Di Terlizzi ' build_requires: ExtUtils::MakeMaker: '0' JSON::PP: '0' Test::More: '0' configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 1 generated_by: 'ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter version 2.150010' license: artistic_2 meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: CVSS no_index: directory: - t - inc requires: JSON::PP: '0' List::Util: '0' perl: '5.010' resources: bugtracker: https://github.com/giterlizzi/perl-CVSS/issues repository: git://github.com/giterlizzi/perl-CVSS version: '1.14' x_purl: pkg:cpan/GDT/CVSS x_serialization_backend: 'CPAN::Meta::YAML version 0.020'