module CvssSuite::Cvss3Helper

This module includes methods which are used by the CVSS 3 classes.

Public Class Methods

privileges_required_score(privileges_required, scope) click to toggle source

Since CVSS 3 the Privilege Required score depends on the selected value of the Scope metric. This method takes a Privilege Required and a Scope metric and returns the newly calculated score.

# File lib/cvss_suite/helpers/cvss3_helper.rb, line 25
def self.privileges_required_score(privileges_required, scope)
  changed = scope.selected_value[:name] == 'Changed'
  privilege_score = privileges_required.score
  if changed
    privilege_score = 0.68 if privileges_required.selected_value[:name] == 'Low'
    privilege_score = 0.50 if privileges_required.selected_value[:name] == 'High'
  end
  privilege_score
end
round_up(float) click to toggle source

Since CVSS 3 all float values are rounded up, therefore this method is used instead of the mathematically correct method round().

# File lib/cvss_suite/helpers/cvss3_helper.rb, line 18
def self.round_up(float)
  float.ceil(1).to_f
end