// HODNOCENÍ ZRANITELNOSTÍ

CVSS: jak se počítá závažnost zranitelnosti

CVSS (Common Vulnerability Scoring System) je otevřený standard pro číselné hodnocení závažnosti zranitelnosti na škále 0 až 10, který popisuje, jak snadno se chyba zneužije a co způsobí. Vydává ho organizace FIRST a v praxi se dnes potkáte s verzemi 3.1 a 4.0 vedle sebe. Skóre samo o sobě není pořadí oprav: neví nic o tom, k čemu ten systém ve firmě slouží.

// 01

Fakta v kostce

ÚdajHodnota
AnglickyCommon Vulnerability Scoring System
ZkratkaCVSS
VydavatelFIRST, Forum of Incident Response and Security Teams
Aktuální verze4.0 z roku 2023, souběžně se používá i 3.1 z roku 2019
K čemu sloužíPřevádí vlastnosti zranitelnosti na číslo od 0 do 10 a na stupeň
Závazné, nebo doporučenéDoporučené. Povinné jen tam, kde ho žádá smlouva nebo interní směrnice
Primární zdrojSpecifikace CVSS v4.0

// 02

Co se do skóre počítá?

Do skóre vstupují tři skupiny metrik. Základní popisují samotnou chybu, tedy odkud jde zneužít, jak je útok složitý a co se rozbije. Druhá skupina zohledňuje okolnosti v čase, hlavně existenci veřejného exploitu. Třetí upravuje výsledek podle konkrétního prostředí. Verze 4.0 k nim přidává ještě doplňkovou skupinu, která se do čísla nepočítá.

  • Dá se to zneužít po síti zvenčí, nebo musí být útočník na stejném segmentu?
  • Potřebuje k tomu účet, a pokud ano, stačí běžný uživatel bez oprávnění?
  • Musí někdo kliknout, nebo to proběhne bez součinnosti obsluhy?
  • Co se tím rozbije: důvěrnost dat, jejich integrita, nebo dostupnost služby?

Základní část se počítá jednou a pro všechny stejně, proto se dá přebírat z databází. Prostředí vám ale nikdo zvenčí nespočítá. Stejné skóre 8.8 znamená něco jiného na testovací instanci a něco jiného na systému, ze kterého se odesílají platby. Skener proto číslo vypíše, kontext k němu nedodá, a kde sken končí a kde začíná ruční test, rozebírá vlastní srovnání.

// 03

Jak se čte vektor?

Vektor je zápis všech metrik do jednoho řádku, aby šlo číslo přepočítat a zkontrolovat. Čte se zleva doprava po dvojicích metrika a hodnota: nejdřív verze standardu, pak odkud útok přichází, jak je složitý, jestli potřebuje účet a interakci uživatele, a nakonec dopad na důvěrnost, integritu a dostupnost.

Ve verzi 3.1 je před dopadem ještě rozsah, tedy jestli se následek přelije mimo zasažený systém. Ve verzi 4.0 jsou složky dopadu rovnou dvě sady, jedna pro zranitelný a druhá pro navazující systém.

Vyplatí se to číst i tehdy, když číslu věříte. Dva nálezy se shodným skóre 7.5 mohou mít úplně jiný vektor, jeden s dopadem na data a druhý jen na dostupnost, a podle toho se liší i to, co s nimi uděláte. Vektor je zároveň nejspolehlivější způsob, jak poznat, ze které verze standardu číslo pochází, protože verzi nese hned ve svém prvním poli.

// 04

Co znamenají stupně Critical až Low?

Číslo se převádí na slovní stupeň a v reportech se pracuje hlavně s ním. Standard rozlišuje pět stupňů, protože k nim počítá i None pro skóre 0,0. V reportu se prakticky pracuje se čtyřmi z nich, těmi z tabulky níže, a používáme je i my, aby se dal report porovnat s výstupem odjinud.

StupeňSkóreCo za tím v reportu obvykle stojí
Critical9,0 až 10,0Zneužitelné zvenčí bez účtu, s přímým dopadem na data nebo provoz
High7,0 až 8,9Vážná chyba s jednou podmínkou navíc, třeba účet nebo pozice v síti
Medium4,0 až 6,9Zneužití vyžaduje souhru okolností, nebo má omezený dopad
Low0,1 až 3,9Malý dopad, řeší se v nejbližším servisním okně

Hranice jsou ostré, realita ne: mezi nálezem 6,9 a 7,0 není v provozu vidět žádný rozdíl, přestože jeden je Medium a druhý High. Stupeň je navíc jen popis chyby, ne popis systému. Samotné označení zranitelnosti a jak vzniká je jiná věc než její hodnocení.

// 05

Jaký je rozdíl mezi CVSS 3.1 a 4.0?

Verze 4.0 z roku 2023 řeší tři výtky vůči verzi 3.1 z roku 2019. Odděluje dopad na zranitelný systém od dopadu na systémy navazující, přidává metriku k tomu, jestli se útok dá automatizovat, a lépe pracuje s tím, jestli je exploit veřejně dostupný. Metrika o automatizaci přitom patří do doplňkové skupiny, takže do čísla nevstupuje.

Rozsah 0 až 10 zůstává, samotný výpočet skóre se ale ve 4.0 změnil: místo vzorce ze 3.1 se výsledek odečítá z tabulek, které jsou součástí specifikace.

V praxi narazíte na obojí a čísla se nemusí shodovat. U části záznamů stojí vedle sebe hodnocení podle staré i nové verze a rozdíl o několik desetin je běžný. Než dva nálezy porovnáte, ověřte, že jsou počítané stejně: specifikaci 3.1 má FIRST dál veřejně dostupnou vedle nové verze.

Přechod na 4.0 má i praktický důsledek. Nová verze má sklon dávat vyšší skóre než 3.1, takže víc nálezů spadne do pásma High a Critical. Pro firmu to znamená víc položek, na které tlačí interní SLA a audit, přestože se na systémech fakticky nic nezměnilo, jen se přepočítalo jinou verzí standardu.

// 06

Proč skóre nestačí na pořadí oprav?

Skóre měří vlastnosti chyby, ne hodnotu systému, ve kterém ta chyba je. Deset nálezů se skóre 7.5 může znamenat deset různých rizik podle toho, co na těch systémech běží a kdo se k nim dostane. Seřazení podle čísla proto vyrobí seznam, ve kterém se nahoře potkají věci s velmi odlišnou naléhavostí.

Skóre je jen začátek. Do pořadí oprav vstupuje i to, jak snadno je nález zneužitelný, jak je systém dosažitelný a co se za ním ve firmě skrývá. Kvůli tomu se stává, že nález s nižším číslem jde do opravy dřív. Celý postup, jak pořadí oprav skládáme krok za krokem, ukazuje samostatný článek. Jak se skóre promítne do pořadí oprav a proč report obsahuje obojí, drží stránka o penetračním testování.

// 07

Příklad z vlastního nálezu

Naše CVE-2026-39042 v MikroTik RouterOS má skóre 7.5 a stupeň High. Celé číslo přitom nese jediná složka vektoru, dostupnost: neautentizovaný útočník službu shodí, ale k datům se nedostane, dopad na důvěrnost i integritu je nulový.

Je to učebnicová ukázka toho, proč se vedle čísla čte i vektor. Hodnocení je veřejné v záznamu CVE-2026-39042 v NVD z 13. 7. 2026 a co takový nález, u kterého jsme skóre počítali sami, znamená pro testování síťových prvků, patří k té službě.

// 08

Časté dotazy

CVSS 9.8 je nález na horní hranici stupně Critical. Prakticky vždy jde o chybu zneužitelnou po síti, bez přihlášení a bez součinnosti uživatele, s dopadem na důvěrnost, integritu i dostupnost. Do desítky takovému nálezu obvykle chybí jen to, že se zneužití neprojeví mimo zasažený systém. V praxi to znamená opravu nebo odstavení služby ve dnech, ne v kvartálech.

Ten, kdo zranitelnost publikuje. U veřejných záznamů to bývá výrobce nebo organizace pověřená přidělováním čísel, v databázi NVD ho doplňuje NIST nebo se přebírá od toho, kdo záznam podal, u nálezů z penetračního testu ho počítá tester. Metodika je veřejná, takže si skóre můžete přepočítat sami, a u sporných nálezů to má smysl udělat.

Hranice 7.0 není povinnost, ale interní dohoda, a jako spouštěč dává smysl: co je nad ní, řeší se v týdnech. Pořadí uvnitř té skupiny ale rozhodujte podle systému, ne podle desetin. Nález 7.2 na portálu dostupném z internetu předběhne 8.1 na stanici v uzavřené laboratoři.

Protože do výsledku vstupuje prostředí a verze standardu. Výrobce počítá dopad na svůj produkt, databáze na obecnou instalaci a vy na svoji konfiguraci, ve které může být systém odříznutý od internetu nebo naopak vystavený. K tomu se přidává rozdíl mezi verzemi 3.1 a 4.0. Rozdíl o pár desetin je běžný, rozdíl o celý stupeň stojí za kontrolu vektoru.

Ano, i když je standard psaný hlavně pro veřejně známé zranitelnosti. Tester ho použije i na nálezy, které žádné veřejné číslo nemají, typicky na chyby v autorizaci nebo v konfiguraci. Výhodou je srovnatelnost napříč reporty a dodavateli. Nevýhodou to, že u chyb v business logice vektor někdy nesedí a musí se doplnit slovním popisem dopadu.

Kam dál

Obsah revidován 2026-09-01.

// DALŠÍ KROK

Ukážeme vám report, ve kterém má každý nález skóre i pořadí opravy

Napište nám, co chcete otestovat. Ozveme se a domluvíme si hovor, na kterém upřesníme rozsah, termín i cenu.