ARK. B07Parametr monitoringuBezpieczeństwo · lista 50 parametrów

Dopasowanie podatności

ważność krytycznamierzonysposób vuln_match

Wykryte wtyczki i motywy porównane z bazą znanych CVE (feed Wordfence). Konkretna podatność z numerem CVE i wersją.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 10

Dopasowanie podatności to parametr monitoringu stron WordPress, który zestawia komponenty wykryte na stronie (rdzeń, wtyczki i motywy) oraz ich wersje z bazą znanych podatności. Wynikiem jest lista wpisów, w których zakres wersji podatnych obejmuje wersję wykrytą, albo brak dopasowania. Bazy podatności WordPressa opisują każdy wpis typem oprogramowania (core, plugin albo theme), jego identyfikatorem (slugiem) i zbiorem wersji podatnych [4]. Gdy wersji nie udało się ustalić, dopasowanie po zakresie jest niemożliwe; pozostają tylko wpisy obejmujące każdą wersję, oznaczone gwiazdką [4].

Jak działa

Pomiar ma dwa etapy: rozpoznanie oprogramowania i porównanie z bazą. Strona nie publikuje listy wtyczek, więc sonda z zewnątrz wnioskuje o nich pośrednio. Jednym tropem są adresy zasobów. Funkcja wp_enqueue_script dopisuje do adresu skryptu numer wersji jako parametr zapytania, który służy do unieważniania pamięci podręcznej [7]. Gdy wtyczka przekaże tu wartość false, WordPress wstawia własną wersję rdzenia, a przy null numer nie pojawia się wcale [7]. Parametr ?ver= bywa więc numerem wtyczki, numerem rdzenia albo niczym.

Drugim tropem jest plik readme.txt. W katalogu WordPress.org pole Stable Tag wskazuje stabilną wersję wtyczki, a katalog szuka jej w podkatalogu /tags/ [6]. Sam numer wersji wyznacza jednak nagłówek głównego pliku PHP, nie nazwa katalogu ani readme [6]. Stable Tag jest więc wskazówką, nie dowodem, i może różnić się od wersji faktycznie zainstalowanej.

RYS. 1.1Rozpoznanie wersji i zapytanie do bazy

Porównanie korzysta ze struktury wpisu. Zakres wersji zapisany jest jako pojedyncza wersja, zakres albo przedział z nawiasami otwartymi lub domkniętymi, a pola from_inclusive i to_inclusive mówią, czy granice należą do zakresu [4]. Gwiazdka oznacza dowolną wersję [4]. Wpis podaje też, czy istnieje poprawka, i listę wersji, które ją zawierają [4].

RYS. 1.2Od wykrycia komponentu do dopasowania

Standardy i specyfikacje

  • CVE. Program CVE identyfikuje, definiuje i kataloguje publicznie ujawnione podatności, a każdej odpowiada jeden rekord CVE [1]. Rekordy przydzielają i publikują organizacje partnerskie [1]. Opis zawiera typ podatności, producenta i dotknięty kod [2].
  • NVD. Rekordy CVE trafiają do NVD zwykle w ciągu godziny, a wzbogacanie o CVSS v4.0 i v3.1, CWE oraz kryteria CPE trwa różnie długo i obejmuje określony zakres rekordów [2]. NVD zaznacza, że w kryteriach wersji podatnego oprogramowania mogą być luki [2].
  • CVSS v3.1. Specyfikacja FIRST dzieli metryki na grupy Base, Temporal i Environmental; wynik bazowy zakłada rozsądnie najgorszy skutek w dowolnym środowisku [3]. Metryka Privileges Required rozróżnia atak bez uprawnień, z uprawnieniami zwykłego użytkownika i z uprawnieniami administracyjnymi [3]. Skala jakościowa: Low 0,1–3,9, Medium 4,0–6,9, High 7,0–8,9, Critical 9,0–10,0 [3].
  • Wordfence Intelligence. Feed udostępnia wersję Production z pełnymi rekordami i Scanner z danymi do wykrywania; wymaga klucza API i przy zbyt częstych zapytaniach odpowiada kodem 429 [4]. Pole cve może mieć wartość null, a CVSS występuje w wersjach 3.0 i 3.1 [4].
  • WPScan. Druga baza, udostępniana przez API; plan bezpłatny daje 25 zapytań dziennie, a skan zużywa jedno zapytanie na wersję WordPressa, każdą wtyczkę i motyw [5].

Zagrożenia i skutki

Błędna wersja. Dopasowanie jest tak dobre jak odczyt wersji. Numer rdzenia wstawiony do zasobu wtyczki [7] albo Stable Tag rozjechany z nagłówkiem PHP [6] dają fałszywe dopasowanie albo przeoczenie. Wykrywanie z zewnątrz jest niepełne także z definicji: WPScan domyślnie wykrywa wtyczki pasywnie i do pełniejszej enumeracji wymaga osobnego ustawienia [5].

Fałszywe dopasowania przy wielu gałęziach. Wpis może zawierać kilka zakresów, a poprawka może trafić do kilku wersji naraz [4]. Gdy producent przenosi poprawkę do starszej gałęzi (backport), porównanie wyłącznie z najwyższą wersją z poprawką uzna załataną starszą gałąź za podatną.

Wtyczki spoza katalogu. Konwencja Stable Tag dotyczy katalogu WordPress.org [6]. Wtyczki komercyjne rozprowadzane poza nim nie muszą jej stosować, więc ich wersja z zewnątrz bywa nieznana.

Wtyczki zamknięte. Zamknięta wtyczka przestaje być dostępna do pobrania, a wśród powodów zamknięcia jest problem bezpieczeństwa [8]. Szczegóły są przekazywane tylko autorom i zespołowi bezpieczeństwa [8]. Wpis bez poprawki oznacza, że aktualizacja nie usunie podatności [4].

Priorytety. CVSS nie ujmuje czynników organizacyjnych, które trzeba dołożyć przy decyzji o naprawie [3]. Katalog KEV zbiera podatności wykorzystywane w praktyce i jest zalecany jako wejście do priorytetyzacji [9]. EPSS szacuje prawdopodobieństwo wykorzystania opublikowanej CVE w ciągu 30 dni i publikuje je codziennie [10]. Wpisy oznaczone jako informacyjne mają bardzo ograniczony albo żaden realny wpływ [4].

Przykłady

SytuacjaCo widać z zewnątrzWynik dopasowania
Wersja w zakresie podatnymStable tag lub ?ver= wewnątrz przedziału wpisu [4] [6]podatna
Wersja z listy popraweknumer równy wersji z patched_versions [4]załatana
Zasób zarejestrowany bez wersji?ver= równe wersji rdzenia [7]ryzyko fałszywego dopasowania
Podatność bez numeru CVEwpis z cve równym null [4]dopasowanie po identyfikatorze bazy
Wtyczka zamknięta, brak poprawkibrak pobrania w katalogu, patched równe false [8] [4]podatna bez ścieżki aktualizacji
Wtyczka spoza katalogubrak Stable Tag [6], zasoby bez ?ver= [7]nierozstrzygnięte
CVE w katalogu KEVten sam odczyt wersji, wyższy priorytet [9]podatna, pilna
TAB. 1.1Przypisy10
  1. [1] Overview — About the CVE Program · CVE Program
  2. [2] CVEs and the NVD Process · NIST (National Vulnerability Database)
  3. [3] CVSS v3.1 Specification Document · FIRST
  4. [4] V3: Accessing and Consuming the Vulnerability Data Feed · Wordfence (Defiant)
  5. [5] WPScan — README · WPScan Team
  6. [6] How Your Plugin Readme File Works · WordPress Developer Resources
  7. [7] wp_enqueue_script() — Function Reference · WordPress Developer Resources
  8. [8] Plugin Alerts and Warnings · WordPress Developer Resources
  9. [9] Known Exploited Vulnerabilities Catalog · CISA
  10. [10] Exploit Prediction Scoring System (EPSS) · FIRST
ARK. 2

STATS

wyniki z systemu · tylko liczby zbiorcze
TAB. 2.1Odczyty per strona

Ten parametr nie zapisuje odczytu per strona — przebieg zostawia tylko ustalenia, więc liczby sprawdzonych stron i wyników „ok” system nie ma. Pojawią się po wdrożeniu zapisu przebiegów per strona per parametr.

TAB. 2.3Ustalenia

Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.

TAB. 2.4Przebiegi z tym sposobem sprawdzeniaod 09.09.2026
Przebiegów
33sposób vuln_match
W 30 dni
33przebiegów
Ostatni
19.09.2026start przebiegu
Stron w przebiegach
33 przebiegów bez liczby stron
ARK. 3

CARD

karta z kodu CREATO_PING, odczyt 16.09.2026
RYS. 3.1Droga parametru przez system: Dopasowanie podatności
TAB. 3.1Pomiarpliki: 6
Obszar i ważnośćBezpieczeństwo · krytyczna (B07)
Workflow i częstotliwośćcreato_ping_security_v2 · P3 działa na LAB247cron co 24 h, T1–T3; T4 raz po anomalii · Dokładny skan. dns_integrity porównuje NS, MX, SPF i DMARC z wzorcem z poprzedniego przebiegu.
Sonda i helpersposób vuln_match · CREATO_PING/helpers/vuln_match.py
Testy
  1. Wejście: odczyt wersji z tego samego przebiegu (wp_fingerprint). Strona pominięta, gdy pobranie strony głównej się nie udało albo za CDN nie ujawniła ani rdzenia, ani wtyczek.
  2. Wersja rdzenia tylko z meta generator, generatora feedu RSS albo readme.html; odczyt spoza wersji głównych 3–10 odrzucany.
  3. Wersja wtyczki: meta generator WooCommerce, potem readme.txt (Stable tag), na końcu ?ver= po odrzuceniu znacznika czasu i wersji rdzenia.
  4. Enumeracja: 54 popularne slugi i do 20 slugów z HTML przez readme.txt oraz przestrzenie nazw REST; najpierw zapytanie o nieistniejącą wtyczkę — odpowiedź 200 wyłącza enumerację.
  5. Motywy: aktywny, widziane w HTML i motyw nadrzędny; wersja z nagłówka style.css.
  6. Porównanie z lokalnym indeksem feedu Wordfence po slugu i typie wpisu; wpisy informacyjne pominięte. Feed odświeżany co godzinę.
Typ wynikulista dopasowań: typ ustalenia, komponent (rdzeń, wtyczka, motyw), tytuł wpisu, identyfikator Wordfence, CVE, CVSS, flaga załatana
Jednostkabrak — wynik jakościowy; CVSS 0,0–10,0 jako waga
Próg i regułaReguła, nie próg: wersja w zakresie affected_versions = aktywna podatność (vuln_cve, vuln_wp_core); nieznana wersja pasuje tylko do wpisów „każda wersja”. Waga z CVSS: ≥ 9,0 pilna, 7,0–8,9 wysoka, 4,0–6,9 normalna, niżej albo brak — niska. Sondy wersji: timeout 5 s.
Gdzie leżą pokrętłaCREATO_PING/config/incident_policy.toml → [finding] vuln_cve, vuln_wp_core, outdated_plugin, outdated_wp, outdated_themeCREATO_PING/helpers/wordfence_feed.py → _severity_from_cvssCREATO_PING/helpers/wp_fingerprint.py → TOP_PLUGIN_SLUGS, _MAX_README_VERIFY, _plausible_core_versionCREATO_PING/.env → CREATO_PING_WPSCAN_ESCALATE (drugie źródło, domyślnie wyłączone)
Retencja odczytówNocny przebieg nie zostawia śladu (gate=false, --no-stats); trwały jest tylko cotygodniowy subtask podsumowania w ClickUp. Replay po surowych odczytach dziś niemożliwy.
Znane rozbieżności
  1. Katalog obiecuje numer CVE, a w feedzie Wordfence pole cve bywa puste — wtedy zostaje identyfikator Wordfence.
  2. Skutek „podatna” z katalogu ustaleń jest uśpiony: przy gate=false nic go nie wywołuje, realny zapis to tylko podsumowanie tygodniowe.
  3. outdated_plugin nie ma odbiorcy: podsumowanie czyta tylko aktywne CVE, liczba nieaktualnych wtyczek pochodzi z api.wordpress.org.
  4. Dwie wagi tego samego ustalenia: polityka mówi normalna, helper wysyła niską; o statusie decyduje waga z helpera.
  5. outdated_wp emituje to sprawdzenie, a katalog przypisuje je parametrowi Wersja WordPressa.
kandydaci do pętli: kod a opis parametru albo specyfikacja
Karta przepisana zCREATO_PING/helpers/vuln_match.py · CREATO_PING/helpers/wordfence_feed.py · CREATO_PING/helpers/wp_fingerprint.py · CREATO_PING/helpers/version_summary.py · CREATO_PING/helpers/security_runner.py · CREATO_PING/config/incident_policy.toml · odczyt 16.09.2026
TAB. 3.2Co oznacza failtypów ustaleń: 4

Od 2026-07-18 wszystkie typy ustaleń mają gate=false: nocny skan P3 nie tworzy subtaska ani alarmu. Zapis daje cotygodniowy skan portfolio (niedziela): jeden subtask „Wersje i podatności” na stronę z aktywnymi CVE — status PODATNA, gdy choć jedna ma CVSS ≥ 9,0; strona bez aktywnych CVE ma ten subtask zamykany.

UstaleniePowagaPewnośćSkutekSubtask / alarmCo zrobić
CVE we wtyczce lub motywievuln_cveWysokieEwidentnePODATNAnie / nieZaktualizuj do wersji z poprawką.
CVE w rdzeniu WordPressvuln_wp_coreWysokieEwidentnePODATNAnie / nieZaktualizuj WordPress.
Nieaktualna wtyczkaoutdated_pluginNormalneNiepewneDO WERYF.nie / nieZaktualizuj przy najbliższym oknie serwisowym.
Nieaktualny motywoutdated_themeNormalneNiepewneDO WERYF.nie / nieZaktualizuj motyw (najpierw kopia i test na kopii strony).
ARK. 4

LOOP

pętli: 5
RYS. 4.1Pętla parametru — sześć etapów
TAB. 4.1Trafność, 30 dnialarmy · prawdziwe · fałszywe · bez rozstrzygnięcia

Trafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.

TAB. 4.2Pętle5 · zmian: 9 · wpływających na cały system: 4
Zakresy wersji z feedu v3 czytane poprawniezamknięta historyczna 2026-05-25

Sygnał: Po przejściu na feed Wordfence v3 każda wykryta wersja wychodziła jako podatna — w wynikach były wyłącznie aktywne luki.

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręcznieczłowiek zauważył same aktywne luki
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionekonwersja zakresów v3 na operatory
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-05-25Zakresy affected_versions z formatu v3 (granice od–do z flagą włączności) zamieniane na operatory porównania; kilka zakresów jednej podatności = osobne wpisy indeksu.helpers/wordfence_feed.pyDopasowanie nie rozumiało struktury v3 i każdą wersję uznawało za podatną.tylko ten parametr82e3a58bez replayubez zapisu zatwierdzenia
Wersja rdzenia tylko z pewnych źródeł; ustalenia wersji bez subtaskówzamknięta historyczna 2026-07-18 → 2026-07-19

Sygnał: Nocny skan strony z wtyczką cache dał 145 ustaleń „CVE w rdzeniu”: wtyczki optymalizacji przepisywały ?ver= na zasobach rdzenia, a odczyty wersji były śmieciowe. · dotyczy też: Wersja WordPressa

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręcznieczłowiek rozpoznał śmieciowe wersje rdzenia
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionepewne źródła wersji, bramka wyłączona
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-07-18Wersja rdzenia tylko z meta generator, generatora feedu RSS albo readme.html; żaden ?ver= zasobu. Brak sygnału = wersja nieznana.helpers/wp_fingerprint.pyFałszywa wersja z ?ver= dawała lawinę ustaleń; po zmianie 145 → 0 na stronie testowej i wypłynęły realne CVE wtyczek.cały system Ta sama wersja rdzenia zasila parametr Wersja WordPressa.6b624dfbez replayubez zapisu zatwierdzenia
2026-07-18vuln_cve, vuln_wp_core, outdated_plugin i outdated_wp: gate=false i bez alarmu — bez subtasków do czasu ustalenia sposobu prezentacji.config/incident_policy.tomlUstalenia per CVE zapchałyby tablicę zadań; od 2026-07-19 widoczny jest jeden subtask podsumowania wersji na stronę.cały system Bramka obejmuje też outdated_wp z parametru Wersja WordPressa.6b624dfbez replayubez zapisu zatwierdzenia
2026-07-19Odczyt wersji rdzenia spoza wersji głównych 3–10 odrzucany; generator feedu RSS sprawdzany przed readme.html.helpers/wp_fingerprint.pyreadme.html dawało zmyłkowy odczyt 2.7 na stronie z WordPressem 4.9.cały system Dotyczy też parametru Wersja WordPressa — ten sam odczyt rdzenia.343b699bez replayubez zapisu zatwierdzenia
Motywy dopasowywane do feeduzamknięta historyczna 2026-09-05

Sygnał: Research detekcji: feed Wordfence ma około 3100 wpisów motywów, a dopasowanie przechodziło tylko po wtyczkach — podatne motywy premium były niewidoczne.

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręcznieluka reguły potwierdzona w feedzie
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionepętla po motywach, filtr typu
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-09-05Dopasowanie obejmuje motywy (aktywny, widziane w HTML, nadrzędny) z filtrem typu wpisu; nieaktualny motyw = outdated_theme.helpers/vuln_match.py · helpers/wp_fingerprint.py · config/incident_policy.tomlBrak motywów był błędem konsumenta feedu, nie brakiem danych; filtr typu, bo wtyczka mieszała się z motywem o tej samej nazwie.tylko ten parametrb0fc77cbez replayubez zapisu zatwierdzenia
2026-09-05Wpisy informacyjne pomijane; brak poprawki i wymagane uprawnienia z wektora CVSS dopisywane do ustalenia.helpers/vuln_match.py · helpers/wordfence_feed.py121 wpisów informacyjnych bez realnego wpływu i około 11,6 tys. wpisów bez poprawki, których dopasowanie nie odróżniało.tylko ten parametrb0fc77cbez replayubez zapisu zatwierdzenia
Fałszywe CVE z błędnej wersji wtyczkizamknięta historyczna 2026-09-05

Sygnał: Fałszywe CVE WooCommerce na każdym sklepie (readme.txt wskazywał wersję niższą niż zainstalowana) i kilkadziesiąt wtyczek-widm na serwerach odpowiadających 200 na każdą ścieżkę.

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręcznieczłowiek porównał wersje z zainstalowanymi
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionekolejność źródeł wersji, sonda soft-404
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-09-05Kolejność źródeł wersji wtyczki: meta generator WooCommerce, readme.txt, na końcu ?ver= po odrzuceniu znacznika czasu i wersji rdzenia.helpers/wp_fingerprint.py?ver= bywa wersją rdzenia albo znacznikiem pamięci podręcznej; readme WooCommerce wskazywało wersję niższą niż zainstalowana.tylko ten parametrb0fc77cbez replayubez zapisu zatwierdzenia
2026-09-05Przed enumeracją zapytanie o readme.txt nieistniejącej wtyczki; odpowiedź 200 = enumeracja przez readme.txt pominięta.helpers/wp_fingerprint.pySerwery z soft-404 dawały dziesiątki nieistniejących wtyczek i fałszywe dopasowania.tylko ten parametrb0fc77cbez replayubez zapisu zatwierdzenia
Feed nie zamarza na stałym ETagzamknięta historyczna 2026-09-12

Sygnał: Po przejściu na godzinowe odświeżanie feedu pomiar odpowiedzi Wordfence pokazał stały ETag dla każdej treści — zapytanie z If-None-Match dostawałoby 304 bez końca.

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręczniepomiar nagłówków odpowiedzi API
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionezapytanie warunkowe bez ETag
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-09-12Zapytanie warunkowe o feed wysyła tylko If-Modified-Since, bez If-None-Match.helpers/wordfence_feed.pyStały ETag zamroziłby lokalną kopię feedu, a z nią dopasowanie do nowych podatności.cały system Ten sam feed zasila publiczną listę podatności w serwisie.d90c146bez replayubez zapisu zatwierdzenia
Blog 24/7
20.09Zastrzeżony PESEL: zmiana raz na 30 minut, blokada przy wypłaciedobreprogramy.pl20.09Fałszywe SMS-y od GITD o mandacie za autostradę wyłudzają dane kartyinstalki.pl20.09Pakiet npm indexed-btree omija blokadę skryptów instalacyjnychbleepingcomputer.com19.09SolarWinds łata CVE-2026-28326 w Access Rights Manager, zdalny kod bez logowaniathehackernews.com19.09Orkes Conductor: luka CVE-2026-58138 atakowana w sieci, poprawka w wersji 3.30.2thehackernews.com19.09Trzy luki jądra Linux w katalogu CISA KEV, Red Hat potwierdza aktywne atakithehackernews.com18.09Publiczne exploity na cztery luki jądra Linux dają lokalnie uprawnienia rootthehackernews.com18.09Brevo: skradziony klucz API Cloudflare i skrypty ClickFix na stronach klientówbleepingcomputer.com18.09WaterPlum z Korei Północnej zainfekowała 30 000 urządzeń w 100 krajachtherecord.media18.09Jedna zgoda OAuth daje napastnikowi dostęp do poczty i plików mimo MFAdarkreading.com