From a2ab477d96461a99f2efeb2ae6e719d192a8ed0b Mon Sep 17 00:00:00 2001 From: Timo Pollmeier Date: Thu, 8 Apr 2021 14:16:23 +0200 Subject: [PATCH] Use CVSS severity in NVTs, vulns and results again The integer score elements have been removed and the new severities element in NVTs now uses the CVSS scale for scores. --- CMakeLists.txt | 2 +- src/gmp.c | 10 +-- src/manage.c | 8 ++- src/manage.h | 14 +--- src/manage_migrators.c | 61 ++++++++++++++---- src/manage_pg.c | 9 +-- src/manage_sql.c | 103 +++++++----------------------- src/manage_sql_nvts.c | 32 +++------- src/manage_sql_nvts.h | 2 - src/schema_formats/XML/GMP.xml.in | 43 +------------ 10 files changed, 97 insertions(+), 187 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b1299149..3a0cbb402 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,7 +96,7 @@ include (CPack) ## Variables -set (GVMD_DATABASE_VERSION 241) +set (GVMD_DATABASE_VERSION 242) set (GVMD_SCAP_DATABASE_VERSION 18) diff --git a/src/gmp.c b/src/gmp.c index 5d999b05b..ed86e8431 100644 --- a/src/gmp.c +++ b/src/gmp.c @@ -9132,12 +9132,12 @@ results_xml_append_nvt (iterator_t *results, GString *buffer, int cert_loaded) "%s" "%s" "%s" - "", + "", oid, result_iterator_nvt_name (results) ?: oid, result_iterator_nvt_family (results) ?: "", cvss_base ?: "", - result_iterator_nvt_score (results)); + cvss_base ?: ""); init_nvt_severity_iterator (&severities, oid); while (next (&severities)) @@ -9147,7 +9147,7 @@ results_xml_append_nvt (iterator_t *results, GString *buffer, int cert_loaded) "" "%s" "%s" - "%i" + "%0.1f" "%s" "", nvt_severity_iterator_type (&severities), @@ -9439,10 +9439,8 @@ buffer_results_xml (GString *buffer, iterator_t *results, task_t task, buffer_xml_append_printf (buffer, "%.1f" - "%i" "%s", result_iterator_severity_double (results), - result_iterator_score (results), qod ? qod : ""); if (qod_type && strlen (qod_type)) @@ -17775,7 +17773,6 @@ handle_get_vulns (gmp_parser_t *gmp_parser, GError **error) "%s" "%s" "%1.1f" - "%i" "%d", get_iterator_uuid (&vulns), get_iterator_name (&vulns), @@ -17783,7 +17780,6 @@ handle_get_vulns (gmp_parser_t *gmp_parser, GError **error) get_iterator_creation_time (&vulns), get_iterator_modification_time (&vulns), vuln_iterator_severity (&vulns), - vuln_iterator_score (&vulns), vuln_iterator_qod (&vulns)); // results for the vulnerability diff --git a/src/manage.c b/src/manage.c index acc148103..77de2ce61 100644 --- a/src/manage.c +++ b/src/manage.c @@ -5575,7 +5575,7 @@ get_nvt_xml (iterator_t *nvts, int details, int pref_count, "%d" "%s" "%s" - "", + "", oid, name_text, get_iterator_creation_time (nvts) @@ -5590,7 +5590,9 @@ get_nvt_xml (iterator_t *nvts, int details, int pref_count, nvt_iterator_cvss_base (nvts) ? nvt_iterator_cvss_base (nvts) : "", - nvt_iterator_score (nvts)); + nvt_iterator_cvss_base (nvts) + ? nvt_iterator_cvss_base (nvts) + : ""); init_nvt_severity_iterator (&severities, oid); while (next (&severities)) @@ -5600,7 +5602,7 @@ get_nvt_xml (iterator_t *nvts, int details, int pref_count, "" "%s" "%s" - "%i" + "%0.1f" "%s" "", nvt_severity_iterator_type (&severities), diff --git a/src/manage.h b/src/manage.h index 4505ed4e4..9f84f23c0 100644 --- a/src/manage.h +++ b/src/manage.h @@ -1409,9 +1409,6 @@ result_iterator_nvt_cvss_base (iterator_t *); const char* result_iterator_nvt_tag (iterator_t *); -int -result_iterator_nvt_score (iterator_t *); - const char* result_iterator_descr (iterator_t*); @@ -1433,9 +1430,6 @@ result_iterator_severity (iterator_t *); double result_iterator_severity_double (iterator_t *); -int -result_iterator_score (iterator_t *); - const char* result_iterator_original_level (iterator_t*); @@ -1851,9 +1845,6 @@ nvt_iterator_solution_type (iterator_t*); const char* nvt_iterator_solution_method (iterator_t*); -int -nvt_iterator_score (iterator_t *); - char* nvt_default_timeout (const char *); @@ -1992,7 +1983,7 @@ nvt_severity_iterator_origin (iterator_t *); const char * nvt_severity_iterator_date (iterator_t *); -int +double nvt_severity_iterator_score (iterator_t *); const char * @@ -3511,9 +3502,6 @@ vuln_iterator_hosts (iterator_t*); double vuln_iterator_severity (iterator_t*); -int -vuln_iterator_score (iterator_t*); - int vuln_iterator_qod (iterator_t*); diff --git a/src/manage_migrators.c b/src/manage_migrators.c index 0c45d0832..66cc93bf9 100644 --- a/src/manage_migrators.c +++ b/src/manage_migrators.c @@ -2445,10 +2445,7 @@ migrate_236_to_237 () /* Update the database. */ - /* NVT scores were introduced, for handling extended severities. */ - - sql ("ALTER TABLE nvts ADD column score integer;"); - sql ("UPDATE nvts SET score = (cvss_base::float * 10)::integer;"); + /* This previously added a "score" column to the nvts table */ /* Set the database version to 237. */ @@ -2479,13 +2476,8 @@ migrate_237_to_238 () /* Update the database. */ - /* Table results also got a score column, for extended severities. */ - - sql ("ALTER TABLE results ADD column score integer;"); - sql ("UPDATE results SET score = (severity::float * 10)::integer;"); - - sql ("ALTER TABLE results_trash ADD column score integer;"); - sql ("UPDATE results_trash SET score = (severity::float * 10)::integer;"); + /* This previously added a "score" column to the results and results_trash + * tables. */ /* Set the database version to 238. */ @@ -2603,6 +2595,52 @@ migrate_240_to_241 () return 0; } +/** + * @brief Migrate the database from version 241 to version 242. + * + * @return 0 success, -1 error. + */ +int +migrate_241_to_242 () +{ + sql_begin_immediate (); + + /* Ensure that the database is currently version 241. */ + + if (manage_db_version () != 241) + { + sql_rollback (); + return -1; + } + + /* Update the database. */ + + /* Remove score columns from results and nvts if they were added in + * migrations to previous versions. + */ + + sql ("DROP VIEW IF EXISTS vulns;"); + + sql ("ALTER TABLE nvts DROP COLUMN IF EXISTS score;"); + + sql ("ALTER TABLE results DROP COLUMN IF EXISTS score;"); + + sql ("ALTER TABLE results_trash DROP COLUMN IF EXISTS score;"); + + /* Change the vt_severities table to a CVSS score */ + sql ("ALTER TABLE vt_severities ALTER COLUMN score" + " SET DATA TYPE double precision;"); + sql ("UPDATE vt_severities SET score = round(score / 10.0, 1);"); + + /* Set the database version to 242. */ + + set_db_version (242); + + sql_commit (); + + return 0; +} + #undef UPDATE_DASHBOARD_SETTINGS /** @@ -2650,6 +2688,7 @@ static migrator_t database_migrators[] = { {239, migrate_238_to_239}, {240, migrate_239_to_240}, {241, migrate_240_to_241}, + {242, migrate_241_to_242}, /* End marker. */ {-1, NULL}}; diff --git a/src/manage_pg.c b/src/manage_pg.c index f99e049bd..b3f08bb87 100644 --- a/src/manage_pg.c +++ b/src/manage_pg.c @@ -1641,7 +1641,7 @@ create_view_vulns () " AS (SELECT DISTINCT nvt FROM results" " WHERE (results.severity != " G_STRINGIFY (SEVERITY_ERROR) "))" " SELECT id, uuid, name, creation_time, modification_time," - " score / 10.0 AS severity, qod, 'nvt' AS type" + " cvss_base::double precision AS severity, qod, 'nvt' AS type" " FROM nvts" " WHERE uuid in (SELECT * FROM used_nvts)" " UNION SELECT id, uuid, name, creation_time, modification_time," @@ -1662,7 +1662,7 @@ create_view_vulns () " AS (SELECT DISTINCT nvt FROM results" " WHERE (results.severity != " G_STRINGIFY (SEVERITY_ERROR) "))" " SELECT id, uuid, name, creation_time, modification_time," - " score / 10.0 AS severity, qod, 'nvt' AS type" + " cvss_base::double precision AS severity, qod, 'nvt' AS type" " FROM nvts" " WHERE uuid in (SELECT * FROM used_nvts)"); } @@ -2358,7 +2358,6 @@ create_tables () " report integer REFERENCES reports (id) ON DELETE RESTRICT," " nvt_version text," " severity real," - " score integer," " qod integer," " qod_type text," " owner integer REFERENCES users (id) ON DELETE RESTRICT," @@ -2379,7 +2378,6 @@ create_tables () " report integer REFERENCES reports (id) ON DELETE RESTRICT," " nvt_version text," " severity real," - " score integer," " qod integer," " qod_type text," " owner integer REFERENCES users (id) ON DELETE RESTRICT," @@ -2510,7 +2508,7 @@ create_tables () " type text NOT NULL," " origin text," " date integer," - " score integer," + " score double precision," " value text);"); sql ("CREATE TABLE IF NOT EXISTS nvt_preferences" @@ -2533,7 +2531,6 @@ create_tables () " category text," " family text," " cvss_base text," - " score integer," " creation_time integer," " modification_time integer," " solution text," diff --git a/src/manage_sql.c b/src/manage_sql.c index e7c309147..a9ab23bf5 100644 --- a/src/manage_sql.c +++ b/src/manage_sql.c @@ -18915,14 +18915,14 @@ make_osp_result (task_t task, const char *host, const char *hostname, result_nvt_notice (quoted_nvt); sql ("INSERT into results" " (owner, date, task, host, hostname, port, nvt," - " nvt_version, severity, score, type, qod, qod_type, description," + " nvt_version, severity, type, qod, qod_type, description," " path, uuid, result_nvt)" " VALUES (NULL, m_now(), %llu, '%s', '%s', '%s', '%s'," - " '%s', '%s', (%s::float * 10)::integer, '%s', %d, '', '%s'," + " '%s', '%s', '%s', %d, '', '%s'," " '%s', make_uuid ()," " (SELECT id FROM result_nvts WHERE nvt = '%s'));", task, host ?: "", quoted_hostname, quoted_port, quoted_nvt, - nvt_revision ?: "", result_severity ?: "0", result_severity ?: "0", + nvt_revision ?: "", result_severity ?: "0", type, qod, quoted_desc, quoted_path, quoted_nvt); g_free (result_severity); g_free (nvt_revision); @@ -19251,15 +19251,15 @@ make_result (task_t task, const char* host, const char *hostname, result_nvt_notice (nvt); sql ("INSERT into results" " (owner, date, task, host, hostname, port," - " nvt, nvt_version, severity, score, type," + " nvt, nvt_version, severity, type," " description, uuid, qod, qod_type, path, result_nvt)" " VALUES" " (NULL, m_now (), %llu, '%s', '%s', '%s'," - " '%s', '%s', '%s', (%s::float * 10)::integer, '%s'," + " '%s', '%s', '%s', '%s'," " '%s', make_uuid (), %s, %s, '%s'," " (SELECT id FROM result_nvts WHERE nvt = '%s'));", task, host ?: "", quoted_hostname, port ?: "", - nvt ?: "", nvt_revision, severity, severity, type, + nvt ?: "", nvt_revision, severity, type, quoted_descr, qod, qod_type, quoted_path, nvt ? nvt : ""); g_free (quoted_hostname); @@ -20393,7 +20393,7 @@ create_report (array_t *results, const char *task_id, const char *in_assets, "INSERT INTO results" " (uuid, owner, date, task, host, hostname, port," " nvt, type, description," - " nvt_version, severity, score, qod, qod_type," + " nvt_version, severity, qod, qod_type," " result_nvt, report)" " VALUES"); else @@ -20402,7 +20402,7 @@ create_report (array_t *results, const char *task_id, const char *in_assets, g_string_append_printf (insert, " (make_uuid (), %llu, m_now (), %llu, '%s'," " '%s', '%s', '%s', '%s', '%s', '%s', '%s'," - " (%s::float * 10)::integer, '%s', '%s'," + " '%s', '%s'," " (SELECT id FROM result_nvts WHERE nvt = '%s')," " %llu)", owner, @@ -20417,7 +20417,6 @@ create_report (array_t *results, const char *task_id, const char *in_assets, quoted_description, quoted_scan_nvt_version, quoted_severity, - quoted_severity, quoted_qod, quoted_qod_type, quoted_nvt_oid, @@ -20880,7 +20879,7 @@ report_add_result (report_t report, result_t result) "task", "severity", "false_positive", "log", "low", "medium", "high", \ "hosts", "result_hosts", "fp_per_host", "log_per_host", "low_per_host", \ "medium_per_host", "high_per_host", "duration", "duration_per_host", \ - "score", NULL } + NULL } /** * @brief Report iterator columns. @@ -21016,12 +21015,6 @@ report_add_result (report_t report, result_t result) "duration_per_host", \ KEYWORD_TYPE_INTEGER \ }, \ - { \ - "(report_severity (id, opts.override, opts.min_qod)::float * 10)" \ - "::integer", \ - "score", \ - KEYWORD_TYPE_INTEGER \ - }, \ { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \ } @@ -21298,7 +21291,7 @@ where_qod (int min_qod) "description", "task", "report", "cvss_base", "nvt_version", \ "severity", "original_severity", "vulnerability", "date", "report_id", \ "solution_type", "qod", "qod_type", "task_id", "cve", "hostname", \ - "path", "score", NULL } + "path", NULL } // TODO Combine with RESULT_ITERATOR_COLUMNS. /** @@ -21582,13 +21575,6 @@ where_qod (int min_qod) { "nvts.tag", \ NULL, \ KEYWORD_TYPE_STRING }, \ - { "nvts.score", \ - "score", \ - KEYWORD_TYPE_INTEGER }, \ - { "(SELECT (" new_severity_sql "::float * 10)::integer)", \ - "score", \ - KEYWORD_TYPE_INTEGER }, - /* ^ 45 = 35 */ /** * @brief Result iterator columns. @@ -22706,34 +22692,6 @@ DEF_ACCESS (result_iterator_nvt_family, GET_ITERATOR_COLUMN_COUNT + 33); */ DEF_ACCESS (result_iterator_nvt_tag, GET_ITERATOR_COLUMN_COUNT + 34); -/** - * @brief Get an iterator column value. - * - * @param[in] iterator Iterator. - * - * @return Value, or -1 if iteration is complete. - */ -int -result_iterator_nvt_score (iterator_t *iterator) -{ - if (iterator->done) return -1; - return iterator_int (iterator, GET_ITERATOR_COLUMN_COUNT + 35); -} - -/** - * @brief Get an iterator column value. - * - * @param[in] iterator Iterator. - * - * @return Value, or -1 if iteration is complete. - */ -int -result_iterator_score (iterator_t *iterator) -{ - if (iterator->done) return -1; - return iterator_int (iterator, GET_ITERATOR_COLUMN_COUNT + 36); -} - /** * @brief Get CERT-BUNDs from a result iterator. * @@ -22745,7 +22703,7 @@ gchar ** result_iterator_cert_bunds (iterator_t* iterator) { if (iterator->done) return 0; - return iterator_array (iterator, GET_ITERATOR_COLUMN_COUNT + 37); + return iterator_array (iterator, GET_ITERATOR_COLUMN_COUNT + 35); } /** @@ -22759,7 +22717,7 @@ gchar ** result_iterator_dfn_certs (iterator_t* iterator) { if (iterator->done) return 0; - return iterator_array (iterator, GET_ITERATOR_COLUMN_COUNT + 38); + return iterator_array (iterator, GET_ITERATOR_COLUMN_COUNT + 36); } /** @@ -29438,10 +29396,10 @@ delete_task (task_t task, int ultimate) sql ("INSERT INTO results_trash" " (uuid, task, host, port, nvt, result_nvt, type, description," - " report, nvt_version, severity, score, qod, qod_type, owner, date," + " report, nvt_version, severity, qod, qod_type, owner, date," " hostname, path)" " SELECT uuid, task, host, port, nvt, result_nvt, type," - " description, report, nvt_version, severity, score, qod," + " description, report, nvt_version, severity, qod," " qod_type, owner, date, hostname, path" " FROM results" " WHERE report IN (SELECT id FROM reports WHERE task = %llu);", @@ -46397,10 +46355,10 @@ manage_restore (const char *id) sql ("INSERT INTO results" " (uuid, task, host, port, nvt, result_nvt, type, description," - " report, nvt_version, severity, score, qod, qod_type, owner, date," + " report, nvt_version, severity, qod, qod_type, owner, date," " hostname, path)" " SELECT uuid, task, host, port, nvt, result_nvt, type," - " description, report, nvt_version, severity, score, qod," + " description, report, nvt_version, severity, qod," " qod_type, owner, date, hostname, path" " FROM results_trash" " WHERE report IN (SELECT id FROM reports WHERE task = %llu);", @@ -52492,7 +52450,7 @@ user_resources_in_use (user_t user, */ #define VULN_ITERATOR_FILTER_COLUMNS \ { \ - GET_ITERATOR_FILTER_COLUMNS, "results", "hosts", "severity", "score", \ + GET_ITERATOR_FILTER_COLUMNS, "results", "hosts", "severity", \ "qod", "oldest", "newest", "type", NULL \ } @@ -52540,10 +52498,7 @@ user_resources_in_use (user_t user, KEYWORD_TYPE_INTEGER \ }, \ { \ - "(score / 10.0)", "severity", KEYWORD_TYPE_DOUBLE \ - }, \ - { \ - "score", NULL, KEYWORD_TYPE_DOUBLE \ + "severity", NULL, KEYWORD_TYPE_DOUBLE \ }, \ { \ "qod", NULL, KEYWORD_TYPE_INTEGER \ @@ -52759,20 +52714,6 @@ vuln_iterator_severity (iterator_t* iterator) return iterator_double (iterator, GET_ITERATOR_COLUMN_COUNT + 2); } -/** - * @brief Get an iterator column value. - * - * @param[in] iterator Iterator. - * - * @return Value, or -1 if iteration is complete. - */ -int -vuln_iterator_score (iterator_t *iterator) -{ - if (iterator->done) return -1; - return iterator_int (iterator, GET_ITERATOR_COLUMN_COUNT + 3); -} - /** * @brief Get the QoD from a vuln iterator. * @@ -52784,7 +52725,7 @@ int vuln_iterator_qod (iterator_t* iterator) { if (iterator->done) return -1; - return iterator_int (iterator, GET_ITERATOR_COLUMN_COUNT + 4); + return iterator_int (iterator, GET_ITERATOR_COLUMN_COUNT + 3); } /** @@ -52798,7 +52739,7 @@ const char* vuln_iterator_type (iterator_t* iterator) { if (iterator->done) return NULL; - return iterator_string (iterator, GET_ITERATOR_COLUMN_COUNT + 5); + return iterator_string (iterator, GET_ITERATOR_COLUMN_COUNT + 4); } /** @@ -52812,7 +52753,7 @@ time_t vuln_iterator_oldest (iterator_t* iterator) { if (iterator->done) return 0; - return iterator_int64 (iterator, GET_ITERATOR_COLUMN_COUNT + 6); + return iterator_int64 (iterator, GET_ITERATOR_COLUMN_COUNT + 5); } /** @@ -52826,7 +52767,7 @@ time_t vuln_iterator_newest (iterator_t* iterator) { if (iterator->done) return 0; - return iterator_int64 (iterator, GET_ITERATOR_COLUMN_COUNT + 7); + return iterator_int64 (iterator, GET_ITERATOR_COLUMN_COUNT + 6); } /** diff --git a/src/manage_sql_nvts.c b/src/manage_sql_nvts.c index 127ef3cf3..dbe52c445 100644 --- a/src/manage_sql_nvts.c +++ b/src/manage_sql_nvts.c @@ -270,7 +270,8 @@ insert_nvt (const nvti_t *nvti) gchar *quoted_impact, *quoted_detection, *quoted_cve, *quoted_tag; gchar *quoted_cvss_base, *quoted_qod_type, *quoted_family; gchar *quoted_solution, *quoted_solution_type, *quoted_solution_method; - int qod, i, highest; + int qod, i; + double highest; cve = nvti_refs (nvti, "cve", "", 0); @@ -360,8 +361,9 @@ insert_nvt (const nvti_t *nvti) quoted_value = sql_quote (vtseverity_value (severity) ? vtseverity_value (severity) : ""); - sql ("INSERT into vt_severities (vt_oid, type, origin, date, score, value)" - " VALUES ('%s', '%s', '%s', %i, %i, '%s');", + sql ("INSERT into vt_severities (vt_oid, type, origin, date, score," + " value)" + " VALUES ('%s', '%s', '%s', %i, %0.1f, '%s');", nvti_oid (nvti), vtseverity_type (severity), quoted_origin, vtseverity_date (severity), vtseverity_score (severity), quoted_value); @@ -372,7 +374,7 @@ insert_nvt (const nvti_t *nvti) g_free (quoted_value); } - sql ("UPDATE nvts SET score = %i WHERE oid = '%s';", + sql ("UPDATE nvts SET cvss_base = %0.1f WHERE oid = '%s';", highest, nvti_oid (nvti)); @@ -1007,22 +1009,6 @@ DEF_ACCESS (nvt_iterator_detection, GET_ITERATOR_COLUMN_COUNT + 19); */ DEF_ACCESS (nvt_iterator_solution_method, GET_ITERATOR_COLUMN_COUNT + 20); -/** - * @brief Get the score from an NVT iterator. - * - * @param[in] iterator Iterator. - * - * @return Score, or -1 if iteration is complete. - */ -int -nvt_iterator_score (iterator_t* iterator) -{ - int ret; - if (iterator->done) return -1; - ret = iterator_int (iterator, GET_ITERATOR_COLUMN_COUNT + 21); - return ret; -} - /** * @brief Get the default timeout of an NVT. * @@ -1401,7 +1387,7 @@ nvti_from_vt (entity_t vt) vtseverity_new (severity_type, origin ? entity_text (origin) : NULL, parsed_severity_date, - round (cvss_base_dbl * 10.0), + cvss_base_dbl, entity_text (value))); nvti_add_tag (nvti, "cvss_base_vector", entity_text (value)); @@ -1800,10 +1786,10 @@ DEF_ACCESS (nvt_severity_iterator_date, 2); * * @return The score of the severity. */ -int +double nvt_severity_iterator_score (iterator_t *iterator) { - return iterator_int (iterator, 3); + return iterator_double (iterator, 3); } /** diff --git a/src/manage_sql_nvts.h b/src/manage_sql_nvts.h index df35f5f2c..6c42c4bfb 100644 --- a/src/manage_sql_nvts.h +++ b/src/manage_sql_nvts.h @@ -62,7 +62,6 @@ { "impact", NULL, KEYWORD_TYPE_STRING }, \ { "detection", NULL, KEYWORD_TYPE_STRING }, \ { "solution_method", NULL, KEYWORD_TYPE_STRING }, \ - { "score", NULL, KEYWORD_TYPE_INTEGER }, \ { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \ } @@ -95,7 +94,6 @@ { "impact", NULL, KEYWORD_TYPE_STRING }, \ { "detection", NULL, KEYWORD_TYPE_STRING }, \ { "solution_method", NULL, KEYWORD_TYPE_STRING }, \ - { "score", NULL, KEYWORD_TYPE_INTEGER }, \ { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \ } diff --git a/src/schema_formats/XML/GMP.xml.in b/src/schema_formats/XML/GMP.xml.in index 9ddebad44..027cd8536 100644 --- a/src/schema_formats/XML/GMP.xml.in +++ b/src/schema_formats/XML/GMP.xml.in @@ -131,15 +131,6 @@ along with this program. If not, see . xsd:token { pattern = "-[1-3](\.0)?|[0-9](\.[0-9])?|10(\.0)?" } - - score - A severity score - - A severity score is an integer between 0 and 100 (inclusive), - or a special negative value (-1, -2 or -3). - - xsd:token { pattern = "-[1-3]|[1-9]?[0-9]|100" } - sort_order A string describing an order for sorting @@ -1376,7 +1367,6 @@ along with this program. If not, see . scan_nvt_version threat severity - score qod original_threat original_severity @@ -1628,10 +1618,6 @@ along with this program. If not, see . severity severity - - score - score - qod The quality of detection (QoD) of the result @@ -2979,7 +2965,7 @@ along with this program. If not, see . score 1 The maximum severity score - score + severity severity @@ -3010,8 +2996,8 @@ along with this program. If not, see . score - Numeric score ranging from 0 to 100 - score + Numeric score ranging from 0.0 to 10.0 + severity value @@ -14983,11 +14969,6 @@ along with this program. If not, see . severity Severity of the result with overrides - - score - score - Score of the result with overrides - original_severity severity @@ -16361,11 +16342,6 @@ along with this program. If not, see . severity Severity of the result with overrides - - score - score - Score of the result with overrides - original_severity severity @@ -22473,11 +22449,6 @@ along with this program. If not, see . severity Severity of the vulnerability - - score - score - Score of the vulnerability - qod integer @@ -22537,7 +22508,6 @@ along with this program. If not, see . creation_time modification_time severity - score qod results hosts @@ -22575,13 +22545,6 @@ along with this program. If not, see . severity - - score - Score of the vulnerability - - score - - qod Quality of detection (QoD) of the vulnerability