Common Vulnerability Scoring System — jak zamienić cechy luki w liczbę od 0,0 do 10,0.
CVSS opisuje lukę kilkunastoma krótkimi odpowiedziami — skąd można zaatakować, czy trzeba się zalogować, czy ofiara musi coś kliknąć, co napastnik zyska — i z nich wylicza wynik. Skala 0,0–10,0 z pasmami „niska”, „średnia”, „wysoka”, „krytyczna” jest tylko jedną częścią standardu; pozostałe to metryki, wektor (zapis wszystkich odpowiedzi w jednej linii) i sposób liczenia. Ważne zastrzeżenie od autorów: wynik bazowy mierzy wagę luki, nie ryzyko — czy ktoś ją atakuje i ile kosztowałaby szkoda, standard każe dopisać osobno. Tu jest cały CVSS w wersji 4.0, różnice wobec 3.1, na której wciąż stoją dane WordPressa, i to, jak używamy go w monitoringu.
Źródło: FIRST, CVSS-SIG — specyfikacja 4.0 (dokument 1.2 z 18.06.2024), specyfikacja 3.1, User Guide 4.0 i 3.1, FAQ 4.0, odczyt 26.09.2026. Wyniki 4.0 policzone kalkulatorem referencyjnym FIRST. CVSS należy do FIRST i jest używany za zgodą; opisy są naszym opracowaniem, nie tłumaczeniem. Dane WordPressa: feed Wordfence, stan 07.09.2026. Pozostałe standardy serii: OWASP Top 10 (średnie CVSS kategorii) i ECS (pole vulnerability.score.base).
- Wersja
- 4.0od 01.11.2023 · 4 grupy
- Metryk w 4.0
- 3211 bazowych obowiązkowych
- Luk WordPressa z CVSS
- 39 74839 742 × 3.1 · 6 × 3.0 · 0 × 4.0
- Przeliczenie wzorem 3.1
- 39 748 / 39 748wynik z wektora = wynik Wordfence
Skala ma 101 możliwych wyników, feed używa 63; mediana 6,1, średnia 6,3. Wyniki od 0,1 do 1,9 nie występują wcale, a prawie trzy czwarte luk to „średnie”: autorzy standardu tłumaczą to tym, że dostawcy oceniają przy najgorszym założeniu, a obniżać mają odbiorcy przez zagrożenie i środowisko (TAB. 3). 0,0 = None — luka bez żadnego skutku; w feedzie takich nie ma.
| Grupa | Kto wypełnia | Zmienia liczbę? | Metryki |
|---|---|---|---|
| Bazowe Base | dostawca: producent, baza podatności (NVD, Wordfence) | tak — jedyne obowiązkowe | AV · AC · AT · PR · UI · VC · VI · VA · SC · SI · SA |
| Zagrożenie Threat | odbiorca, z danych o atakach (threat intelligence) | tak — puste = najgorszy przypadek | E |
| Środowiskowe Environmental | odbiorca, dla własnej infrastruktury | tak — puste = wartości bazowe i wymagania „wysokie” | CR · IR · AR · MAV · MAC · MAT · MPR · MUI · MVC · MVI · MVA · MSC · MSI · MSA |
| Uzupełniające Supplemental | dostawca podaje, odbiorca decyduje, co z tym zrobić | nie — nigdy nie zmieniają liczby | S · AU · R · V · RE · U |
Podział ról jest częścią standardu: dostawca zna lukę, odbiorca zna swoje środowisko i aktualne ataki. Dostawca ocenia przy „rozsądnie najgorszym” założeniu, a zagrożenie i środowisko pozwalają odbiorcy wynik obniżyć (albo podnieść) pod siebie.
| Skrót | Metryka | Wartości | Co mierzy |
|---|---|---|---|
| AV | Droga ataku Attack Vector | N · A · L · P | Skąd można zaatakować: z internetu (N), z tej samej sieci lokalnej albo zasięgu radiowego (A), z konta na maszynie lub przez oszukanie użytkownika, by otworzył plik (L), tylko fizycznie (P). Im dalej może stać napastnik, tym wyżej. |
| AC | Złożoność ataku Attack Complexity | L · H | Czy trzeba obejść wbudowane zabezpieczenia (ASLR, DEP) albo zdobyć sekret właściwy dla celu, np. klucz. Nie liczy się czas ani liczba prób — to jest AT. |
| AT | Warunki ataku Attack Requirements | N · P | Nowa w 4.0. Warunki wdrożenia i działania, które nie są zabezpieczeniem, ale muszą zajść: wyścig do wygrania, wpięcie się w drogę ruchu (on-path). Bez nich atak udaje się rzadko albo wcale. |
| PR | Wymagane uprawnienia Privileges Required | N · L · H | Kim trzeba być przed atakiem: nikim (N), zwykłym użytkownikiem (L), administratorem (H). Konto, które każdy może sobie założyć sam, nie jest wymaganiem. Na WordPressie L to zwykle subskrybent lub autor, H — administrator. |
| UI | Udział użytkownika User Interaction | N · P · A | Czy ktoś poza napastnikiem musi coś zrobić. P (bierny) — wystarczy normalne korzystanie, np. wejście na stronę z wstrzykniętym skryptem. A (czynny) — świadomy krok, np. kliknięcie spreparowanego linku. W 3.1 były tylko N i R. |
| VC · VI · VA | Skutek w systemie podatnym Vulnerable System Confidentiality, Integrity, Availability | H · L · N | Utrata poufności, integralności, dostępności w samym podatnym systemie. Liczy się stan końcowy i tylko przyrost — jeśli napastnik już mógł czytać, a luka daje zapis, ocenia się tylko integralność. |
| SC · SI · SA | Skutek w systemach dalszych Subsequent System Confidentiality, Integrity, Availability | H · L · N | Skutki poza podatnym systemem — to, co w 3.1 opisywał Scope. Przy XSS podatna jest aplikacja, a skutek ponosi przeglądarka odwiedzającego, więc XSS ma VC/VI/VA = N i SC/SI > N. |
| Skrót | Metryka | Wartości | Co mierzy |
|---|---|---|---|
| E | Dojrzałość exploita Exploit Maturity | X · A · P · U | A — są doniesienia o atakach albo gotowe narzędzia; P — publiczny proof-of-concept, bez doniesień o atakach; U — nic z tego nie wiadomo. X (brak danych) liczy się jak A. Tylko obniża wynik, nigdy nie podnosi. |
| CR · IR · AR | Wymagania bezpieczeństwa Confidentiality, Integrity, Availability Requirement | X · H · M · L | Jak bardzo organizacji zależy na poufności, integralności i dostępności tego systemu: skutek katastrofalny (H), poważny (M), ograniczony (L). X liczy się jak H. |
| MAV … MSA | Zmodyfikowane metryki bazowe Modified Base Metrics | X + wartości bazowe | Jedenaście metryk bazowych z przedrostkiem M. Odbiorca nadpisuje nimi ocenę dostawcy pod własne warunki: serwer tylko w sieci wewnętrznej → MAV:A; usługa bez uprawnień administratora → niższe MVC/MVI/MVA. Może też podnieść wynik. |
| MSI · MSA = S | Bezpieczeństwo ludzi Safety | S | Dodatkowa, najwyższa wartość tylko dla zmodyfikowanych SI i SA: wykorzystanie luki może przewidywalnie zranić człowieka (kategoria IEC 61508 „marginal” lub gorsza). |
| Skrót | Metryka | Wartości | Co mierzy |
|---|---|---|---|
| S | Bezpieczeństwo ludzi Safety | X · N · P | Ocena dostawcy, czy skutki mogą zagrozić ludziom (P) czy są pomijalne (N). Brak wartości nie znaczy, że zagrożenia nie ma. |
| AU | Automatyzowalność Automatable | X · N · Y | Czy napastnik zautomatyzuje wszystkie cztery kroki łańcucha: rozpoznanie, uzbrojenie, dostarczenie, wykorzystanie — na wielu celach naraz. Y = luka „robakowa”. |
| R | Powrót do działania Recovery | X · A · U · I | Po ataku system wraca sam (A), wymaga ręcznej interwencji (U) albo nie da się go przywrócić (I). |
| V | Gęstość wartości Value Density | X · D · C | Ile zasobów daje jedno udane wykorzystanie: mało, jak jeden klient poczty (D), czy dużo, jak serwer poczty całej firmy (C). |
| RE | Wysiłek reakcji Vulnerability Response Effort | X · L · M · H | Ile kosztuje najszybsza reakcja: zmiana konfiguracji (L), zdalna aktualizacja (M), aktualizacja firmware’u lub wymiana sprzętu (H). |
| U | Pilność wg dostawcy Provider Urgency | X · Clear · Green · Amber · Red | Własna ocena pilności dostawcy przekazana w standardowym polu. Kolory jak w protokole TLP; Clear = tylko informacja. |
Przykład z FAQ: dwie luki odmowy usługi z tym samym wynikiem — jedna po ataku wstaje sama (R:A), druga czeka na administratora (R:U). Liczba ta sama, plan reakcji inny.
| Ocena | Wynik | Luk WP | Udział w feedzie |
|---|---|---|---|
| None brak | 0,0 | 0 | 0 % |
| Low niska | 0,1–3,9 | 159 | 0,4 % |
| Medium średnia | 4,0–6,9 | 28 833 | 72,5 % |
| High wysoka | 7,0–8,9 | 7999 | 20,1 % |
| Critical krytyczna | 9,0–10,0 | 2757 | 6,9 % |
| Wariant | Użyte grupy | Co znaczy |
|---|---|---|
| CVSS-B | tylko bazowe | To, co publikują NVD, producenci i Wordfence. Ocena wagi przy rozsądnie najgorszym założeniu. |
| CVSS-BT | bazowe + zagrożenie | Wynik po uwzględnieniu, czy luka jest atakowana. Luki bez exploita spadają. |
| CVSS-BE | bazowe + środowisko | Wynik pod konkretne środowisko: ważność systemu, zabezpieczenia na miejscu. |
| CVSS-BTE | wszystkie trzy | Najbliżej ryzyka, jak pisze FIRST — o ile zagrożenie i środowisko wypełnia się automatycznie. |
Skala słowna jest opcjonalna, a pasma są te same dla każdego wariantu. Stąd wymóg 4.0: przy każdej liczbie podawać, z których grup powstała.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
| CVSS:4.0 | prefiks z wersją — bez niego wektor jest nieważny |
| AV:N | atak z internetu |
| AC:L | bez obchodzenia zabezpieczeń |
| AT:N | bez szczególnych warunków |
| PR:N | bez logowania |
| UI:P | ofiara tylko ogląda stronę |
| VC:N/VI:N/VA:N | sama aplikacja nie traci danych ani działania |
| SC:L/SI:L/SA:N | przeglądarka odwiedzającego: częściowy wyciek i zmiana treści |
| Wynik i wektor razem | Licencja FIRST wymaga, by kto publikuje wynik CVSS, podał też wektor — sama liczba nie mówi, skąd się wzięła. Tak samo nazwa wariantu: 9,3 CVSS-B to co innego niż 9,3 CVSS-BTE. |
|---|---|
| Kolejność stała | W 4.0 metryki muszą iść w kolejności z tabeli 23 specyfikacji; każda inna jest nieważna. W 3.1 kolejność była tylko zalecana. |
| Bazowe obowiązkowe | Wszystkie 11 metryk bazowych musi być w wektorze. Zagrożenie, środowisko i uzupełniające są opcjonalne — pominięte = X (nie zdefiniowano). |
| Bez powtórzeń | Metryka najwyżej raz; wielkość liter ma znaczenie (ui:N jest błędem). |
Przykład to stored XSS bez logowania w ocenie 4.0 — wynik 5,3 (średnia). W 3.1 ta sama luka ma u Wordfence 7,2 (TAB. 10).
| CVSS 3.1 | |
| Wagi | Każda wartość ma stałą: AV N 0,85 · A 0,62 · L 0,55 · P 0,2; AC L 0,77 · H 0,44; PR N 0,85 · L 0,62 (0,68 przy S:C) · H 0,27 (0,5 przy S:C); UI N 0,85 · R 0,62; C/I/A H 0,56 · L 0,22 · N 0. |
|---|---|
| Skutek | ISS = 1 − (1 − C)(1 − I)(1 − A). Przy S:U skutek = 6,42 × ISS; przy S:C = 7,52 × (ISS − 0,029) − 3,25 × (ISS − 0,02)^15. |
| Wykorzystywalność | 8,22 × AV × AC × PR × UI. |
| Wynik bazowy | Skutek ≤ 0 → 0. Inaczej Roundup(min(skutek + wykorzystywalność, 10)), przy S:C z mnożnikiem 1,08. Roundup zaokrągla w górę do jednego miejsca, liczony na liczbach całkowitych, żeby 0,1 + 0,2 nie dało 0,4. |
| Przykład | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H: ISS 0,9148 → skutek 5,873, wykorzystywalność 3,887, suma 9,760 → 9,8. |
| CVSS 4.0 | |
| Nie ma wzoru z wagami | Wszystkie ok. 15 mln kombinacji metryk podzielono na 270 makrowektorów — zbiorów o porównywalnej wadze. Eksperci porównywali je parami; z porównań powstał ranking i granice pasm zgodne z 3.x. |
| EQ1–EQ6 | Makrowektor to sześć cyfr: EQ1 = AV/PR/UI (3 poziomy), EQ2 = AC/AT (2), EQ3 = VC/VI/VA (3), EQ4 = SC/SI/SA z Safety (3), EQ5 = E (3), EQ6 = VC/VI/VA × CR/IR/AR (2); EQ3 i EQ6 liczone razem. |
| Tablica wyników | Wynik makrowektora bierze się z tablicy cvss_lookup.js kalkulatora referencyjnego FIRST — to część standardu, nie przybliżenie. |
| Interpolacja | Wektor wewnątrz makrowektora dostaje wynik jego najcięższego wektora minus średnią proporcjonalną odległość do makrowektorów o poziom niżej. Dzięki temu zmiana dowolnej metryki zwykle zmienia liczbę. |
| Wszystko naraz | Wynik 4.0 zawsze uwzględnia zagrożenie i środowisko — gdy ich nie podano, liczy się najgorszy przypadek. Stąd potrzeba nazwy wariantu (TAB. 5). |
| Wariant | Wektor | Wynik | Makro | Sytuacja |
|---|---|---|---|---|
| CVSS-B | 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 | 000200 | Wgranie pliku bez logowania — tak publikuje dostawca. |
| CVSS-BT | … /E:P | 8,9 | 000210 | Jest publiczny proof-of-concept, nikt jeszcze nie atakuje. |
| CVSS-BT | … /E:U | 8,1 | 000220 | Nic nie wiadomo o exploicie. |
| CVSS-BE | … /CR:L/IR:M/AR:L | 8,9 | 000201 | Strona wizytówka: poufność i dostępność mało ważne, integralność średnio. |
| CVSS-BTE | … /E:U/CR:L/IR:M/AR:L | 6,6 | 000221 | Oba naraz — z krytycznej robi się średnia. |
Jedna luka, pięć wyników. „…” = wektor bazowy z pierwszego wiersza. Zagrożenie i środowisko tylko obniżają — w wariancie B założono już najgorszy przypadek (E:A, wymagania H), więc wyżej nie ma dokąd iść.
| Data | Wersja | Co przyniosła |
|---|---|---|
| 2004 | v1 | Pierwsza wersja z prac National Infrastructure Advisory Council (NIAC) dla rządu USA. |
| 14.04.2005 | — | NIAC wybiera FIRST na opiekuna standardu; powstaje grupa CVSS-SIG. |
| 06.2007 | v2 | Przebudowa po krytyce v1 (m.in. waga CIA przeniesiona do środowiska). We wrześniu 2007 wchodzi do PCI DSS — sklep z kartami nie może mieć luki ≥ 4,0; NIST włącza ją do SCAP. |
| 06.2015 | v3.0 | Scope; Privileges Required zamiast Authentication; User Interaction wydzielona z Access Complexity; Attack Vector zamiast Access Vector; pierwsza oficjalna skala słowna None–Critical (wcześniej każdy mapował v2 po swojemu). |
| 03.2016 | — | v3.0 przyjęta jako norma ITU-T X.1521. |
| 06.2019 | v3.1 | Bez nowych metryk: „CVSS mierzy wagę, nie ryzyko”, nowe zasady oceny, poprawiony wzór środowiskowy (wykładnik 13), Roundup odporny na błędy zmiennoprzecinkowe. |
| 01.11.2023 | v4.0 | Cztery grupy, AT, UI P/A, systemy podatny i dalszy zamiast Scope, Threat zamiast Temporal, metryki uzupełniające, nomenklatura B/BT/BE/BTE, wynik z rankingu ekspertów zamiast wzoru. |
| 18.06.2024 | 4.0 (dok. 1.2) | Ostatnia poprawka specyfikacji. Wersja 4.0 jest aktualna; SIG poprawia dokumentację i przykłady, wydał przewodnik wdrożeniowy dla odbiorców. |
| W 3.1 | W 4.0 | Na czym polega |
|---|---|---|
| Scope (S:U/S:C) | usunięty | Zastąpiony osobnymi skutkami w systemie podatnym (VC/VI/VA) i dalszym (SC/SI/SA). |
| Attack Complexity | rozdzielona | AC zostaje dla obchodzenia zabezpieczeń; warunki typu wyścig i on-path przechodzą do nowej AT. |
| User Interaction N/R | N/P/A | Bierny udział (stored XSS) odróżniony od czynnego (kliknięcie linku, reflected XSS). |
| Temporal | Threat | Zostaje tylko E (Exploit Maturity, wartości A/P/U); Remediation Level i Report Confidence wycofane. |
| Environmental | rozszerzone | Zmodyfikowane metryki dla obu zestawów skutków i wartość Safety. |
| — | Supplemental | Sześć metryk kontekstu, które nie zmieniają liczby. |
| Wzór z wagami | ranking ekspertów | Makrowektory i tablica wyników. Ta sama luka może dostać w 4.0 inną liczbę niż w 3.1 — FIRST uważa to za poprawę. |
| Kolejność w wektorze dowolna | stała | Parsery 4.0 odrzucają inną kolejność. |
| Luk | Typowa luka | Wektor 3.1 (Wordfence) | 3.1 | Przełożenie na 4.0 (LAB247) | 4.0 | Uwaga |
|---|---|---|---|---|---|---|
| 6878 | stored XSS, autor/subskrybent+ | AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N | 6,4 | AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N | 5,1 | Wordfence daje UI:N; FAQ 4.0 każe dla stored XSS UI:P — zmieniamy. |
| 6082 | reflected XSS | AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N | 6,1 | AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N | 5,1 | Kliknięcie linku = UI:A (FAQ 4.0). |
| 2706 | CSRF | AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N | 4,3 | AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N | 5,1 | Administrator musi kliknąć — UI:A. |
| 2465 | brak kontroli uprawnień, po zalogowaniu | AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N | 4,3 | AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N | 5,3 | Przeniesienie 1:1. |
| 2362 | brak kontroli uprawnień, bez logowania | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N | 5,3 | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N | 6,9 | Przeniesienie 1:1. |
| 2322 | SQLi, wgranie pliku, LFI bez logowania | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | 9,8 | AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N | 9,3 | Przeniesienie 1:1; nadal krytyczna. |
| 1828 | stored XSS, administrator+ | AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N | 4,4 | AV:N/AC:H/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N | 2,0 | AC:H, bo działa tylko na multisite albo z wyłączonym unfiltered_html (tak pisze 1713 z 1828 opisów). Spada do niskiej. |
| 1699 | wgranie pliku, LFI, eskalacja — po zalogowaniu | AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | 8,8 | AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N | 8,7 | Przeniesienie 1:1. |
| 1168 | stored XSS bez logowania | AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N | 7,2 | AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N | 5,3 | UI:N → UI:P jak wyżej; z wysokiej na średnią. |
| 1118 | ujawnienie informacji bez logowania | AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N | 5,3 | AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N | 6,9 | Przeniesienie 1:1. |
Wektory 3.1 bez prefiksu CVSS:3.1/, 4.0 bez CVSS:4.0/. Przełożenie na 4.0 jest nasze, nie FIRST — oficjalna droga istnieje tylko z 4.0 do 3.1. W 4.0 wynik rośnie w 4 wierszach, spada w 6; pasmo zmienia się w 2: stored XSS, administrator+; stored XSS bez logowania. XSS tanieje najbardziej, bo 4.0 odróżnia bierny udział ofiary i skutek w przeglądarce od skutku w samej aplikacji.
| Metryka | Co mierzy | Wartości (udział) |
|---|---|---|
| AV | droga ataku | N 39 727 (99,9 %) · A 3 (0 %) · L 18 (0 %) · P 0 (0 %) |
| AC | złożoność | L 35 994 (90,6 %) · H 3754 (9,4 %) |
| PR | uprawnienia | N 20 828 (52,4 %) · L 14 510 (36,5 %) · H 4410 (11,1 %) |
| UI | udział użytkownika | N 28 591 (71,9 %) · R 11 157 (28,1 %) |
| S | zasięg | U 21 551 (54,2 %) · C 18 197 (45,8 %) |
| C | poufność | H 9973 (25,1 %) · L 20 705 (52,1 %) · N 9070 (22,8 %) |
| I | integralność | H 8432 (21,2 %) · L 27 092 (68,2 %) · N 4224 (10,6 %) |
| A | dostępność | H 8034 (20,2 %) · L 1375 (3,5 %) · N 30 339 (76,3 %) |
| CWE | Rodzaj błędu | Luk | Śr. CVSS | Maks. |
|---|---|---|---|---|
| 79 | Cross-site scripting | 16 421 | 6,05 | 10,0 |
| 862 | Brak kontroli uprawnień | 5923 | 5,39 | 10,0 |
| 352 | CSRF | 4878 | 5,57 | 9,8 |
| 89 | SQL injection | 2859 | 7,64 | 10,0 |
| 98 | Dołączenie pliku PHP (LFI/RFI) | 1441 | 8,40 | 9,9 |
| 200 | Ujawnienie informacji | 1180 | 5,42 | 9,8 |
| 434 | Wgranie niebezpiecznego pliku | 1089 | 8,92 | 10,0 |
| 502 | Deserializacja niezaufanych danych | 906 | 8,32 | 10,0 |
| 22 | Path traversal | 828 | 7,06 | 10,0 |
| 639 | Obejście autoryzacji kluczem (IDOR) | 677 | 5,46 | 9,8 |
Prawie wszystko jest „z internetu” (AV:N) i bez obchodzenia zabezpieczeń (AC:L) — to wtyczki wystawione w sieci. Różnicę robią uprawnienia i skutek: XSS, najczęstszy, ma średnio 6,05; wgranie pliku — 8,92. 754 z 2757 krytycznych ma przynajmniej jeden komponent bez łatki. 36 915 wpisów ma CVE.
| Standard | Kto | Odpowiada na pytanie | Uwagi |
|---|---|---|---|
| CVE | MITRE / program CVE | identyfikator: która to luka | CVE-2025-68615 — nazwa, nie ocena. CVSS nie wymaga CVE: można ocenić lukę, której nikt nie zgłosił. |
| CWE | MITRE | rodzaj błędu | CWE-79 = XSS. Na nim opiera się OWASP Top 10 (średnie CVSS dla kategorii). |
| CVSS | FIRST | waga: jak źle, jeśli ktoś wykorzysta | 0,0–10,0 + wektor. Mówi o skutkach i łatwości, nie o tym, czy ktoś to zrobi. |
| EPSS | FIRST (liczy Empirical Security) | prawdopodobieństwo wykorzystania w 30 dni | 0–1, codziennie dla każdego CVE. Uzupełnia CVSS, nie zastępuje (FAQ 4.0). |
| KEV | CISA | fakt: luka jest wykorzystywana | Katalog potwierdzonych ataków. Odpowiada E:A w CVSS 4.0. |
| SSVC | CISA, CERT/CC | decyzja: co zrobić i kiedy | Drzewo decyzji zamiast liczby. Też nie zastępuje CVSS. |
| NVD | NIST | baza z ocenami | Publikuje CVSS-B dla CVE; obsługuje 2.0, 3.x i 4.0, nowym CVE nie nadaje już 2.0. |
| Co | Stan | Jak |
|---|---|---|
| Waga luki na stronie klienta | działa | CVSS 3.1 z Wordfence → ≥ 9,0 pilna · 7,0–8,9 wysoka · 4,0–6,9 normalna · niżej niska (vuln_match, _severity_from_cvss). |
| Publiczna lista /podatnosci | działa | Te same progi słownie: krytyczna, wysoka, średnia, niska. Brak wyniku = „Nieoceniona”, nie „niska”. |
| Zalogowany czy nie | działa | Z wektora bierzemy PR: N = bez logowania, L = subskrybent/autor+, H = administrator — odróżnia lukę dla każdego od luki dla zalogowanych. |
| Wzmocnienie przez KEV i EPSS | działa | Aktywna luka z CVE w katalogu KEV albo z EPSS ≥ 0,1 idzie o poziom wyżej (od 24.09). To ręczna wersja E:A z CVSS 4.0 — bez liczenia BT. |
| Brak wyniku CVSS | dług | Monitoring (_severity_from_cvss(None)) daje „niska”, publiczna lista — „Nieoceniona”. Dwie odpowiedzi na to samo; dziś bez skutku, bo feed ma CVSS przy każdym wpisie. |
| CVSS 4.0 | nie robimy | Feed Wordfence nie ma ani jednego wektora 4.0 (39 742 × 3.1, 6 × 3.0). Przełożenia z TAB. 10 to ilustracja, nie nasze dane. |
| Warianty BE/BTE | nie robimy | Nie wypełniamy środowiska (CR/IR/AR) dla stron klientów — wszystkie ważą dla nas tyle samo. Wynik to CVSS-B dostawcy. |
Publiczną listę luk z wynikiem i wersją naprawiającą prowadzimy w Podatnościach.
| Waga, nie ryzyko | Wynik bazowy opisuje samą lukę przy rozsądnie najgorszym założeniu. Ryzyko to jeszcze: czy ktoś atakuje, co stoi na serwerze, ile to kosztuje. Tak piszą wprost User Guide 3.1 i 4.0. |
| Liczba bez wektora nic nie mówi | 9,8 z NVD i 9,8 z Wordfence mogą opisywać różne założenia. Dwie oceny tej samej luki porównuje się po wektorach. |
| Wersje się nie przeliczają | FIRST daje tylko drogę 4.0 → 3.1 (skrypt cvss_reverse). W drugą stronę brakuje informacji: 3.1 nie odróżnia UI:P od UI:A ani warunków AT. |
| Skupienie w górnej połowie | Mediana feedu Wordfence to 6,1, niska ocena to 0,4 % wpisów. FIRST: to nie wada skali, tylko skutek tego, że dostawcy oceniają głównie poważne luki — obniżać mają odbiorcy przez zagrożenie i środowisko. |
| Ocena zależy od oceniającego | Ta sama luka: Wordfence ocenia stored XSS z UI:N, FAQ 4.0 zaleca bierny udział. Różne bazy dają różne wyniki dla tego samego CVE. |
- Feed
- Odpis feedu Wordfence Intelligence (wersja z polami CVSS), którego używa monitoring LAB247. Ostatnia zmiana wpisu 07.09.2026; na serwerze feed jest świeższy. 39 748 wpisów, każdy z wektorem i wynikiem.
- Kontrola 3.1
- Każdy wynik z feedu przeliczyliśmy z wektora wzorem ze specyfikacji 3.1 (z Roundup z dodatku A): 39 748 z 39 748 zgodnych, ocena słowna zgodna z pasmem w każdym wpisie.
- Wyniki 4.0
- Liczone kodem kalkulatora referencyjnego FIRST (cvss_lookup.js, cvss_score.js) i sprawdzone drugą implementacją (pakiet cvss 3.6): 20 wektorów, w tym przykłady ze specyfikacji, zero różnic.
- Przełożenie 3.1 → 4.0
- Nasze, nie FIRST: metryki wykorzystywalności 1:1 (AT:N), S:U → skutki w VC/VI/VA, S:C przy XSS → SC/SI; UI według FAQ 4.0 (stored = P, kliknięcie = A). Inny analityk może ocenić inaczej.
- Histogram
- Przedziały po 1,0: „4” = 4,0–4,9. Ostatni słupek to wyłącznie 10,0. Wyniki poniżej 2,0 nie występują.