Blog 24/7
ARK. B11Parametr monitoringuBezpieczeństwo · lista 87 parametrów

REST API: enumeracja użytkowników

ważność wysokamierzonysposób exposure

Czy /wp-json/wp/v2/users albo ?rest_route= ujawnia listę loginów. Atakujący zna połowę danych do brute-force konta admina.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 10

REST API: enumeracja użytkowników to parametr monitoringu stron WordPress, który sprawdza, czy anonimowy klient może z zewnątrz poznać identyfikatory kont: z listy użytkowników w REST API albo z przekierowania na archiwum autora. Pomiar kończy się jednym z trzech wyników: identyfikatory ujawnione, nieujawnione albo brak odpowiedzi w wyznaczonym czasie. Trasa /wp/v2/users REST API WordPressa zwraca rekordy użytkowników z polami takimi jak id, name, slug, link i avatar_urls [1].

Jak działa

Pola rekordu użytkownika są przypisane do kontekstów. W domyślnym kontekście view widać m.in. id, name, url, description, link i slug, a login (username), adres e-mail i role należą wyłącznie do kontekstu edit [1]. Kontroler odrzuca kontekst edit, jeśli klient nie ma uprawnienia list_users, a takim klientom zawęża listę do osób z opublikowanymi wpisami w typach treści dostępnych przez REST [4]. Lista ma domyślnie 10 rekordów na stronę [1].

Pole slug to wartość user_nicename [4]. Jeśli przy zakładaniu konta nie podano jej osobno, WordPress bierze pierwsze 50 znaków loginu i przepuszcza je przez sanitize_title [6]. Slug jest więc zwykle loginem zapisanym w postaci nadającej się do adresu, ale może się od niego różnić.

Do tej samej trasy prowadzą dwie ścieżki. Na stronach bez przyjaznych odnośników trasa trafia do parametru rest_route, np. ?rest_route=/wp/v2/posts/123 [2]. Kod rdzenia rejestruje rest_route jako zmienną zapytania, a adresy zaczynające się od /wp-json/ przepisuje regułami na index.php?rest_route= [3]. Zablokowanie samej ścieżki /wp-json/ nie zamyka zatem parametru.

Trzecia droga nie korzysta z REST. Gdy żądanie strony ma liczbowy parametr author, a użytkownik o tym numerze ma choć jeden opublikowany wpis, funkcja kanonicznych przekierowań odsyła klienta na adres archiwum autora zbudowany z user_nicename [5]. Podstawiając kolejne liczby, można w ten sposób odczytać slug każdego autora.

RYS. 1.1Trzy drogi do identyfikatora konta

Standardy i specyfikacje

  • REST API Handbook, Users definiuje pola rekordu, ich konteksty i parametry listy, w tym per_page i has_published_posts [1].
  • Core Contributor Handbook, FAQ bezpieczeństwa stwierdza, że projekt WordPress nie uważa nazw użytkowników ani ich numerów za prywatne: login ma identyfikować, a weryfikacja jest zadaniem hasła [7]. Publiczny dostęp do listy przez GET /wp-json/wp/v2/users jest według tego dokumentu zamierzony [7]. WordPress pozwala logować się loginem albo adresem e-mail i zamiast ukrywać identyfikator zachęca do silnych haseł [7].
  • OWASP WSTG-IDNT-04 każe sprawdzić, czy da się zebrać listę prawidłowych nazw użytkowników, bo przydaje się ona w ataku siłowym albo przy próbach domyślnych haseł [8]. Przewodnik zaznacza, że część aplikacji nie traktuje nazw użytkowników jako wrażliwych i celowo je wyświetla, więc przed zgłoszeniem trzeba znać wymagania aplikacji [8]. Wśród zaleceń wymienia jednolite komunikaty błędów logowania i usuwanie kont domyślnych oraz testowych przed wdrożeniem [8].

Zagrożenia i skutki

Połowa danych logowania. Lista kont pozwala skupić próby haseł na istniejących identyfikatorach zamiast zgadywać także nazwę [8]. Stanowisko WordPressa przenosi ciężar ochrony na hasło [7], więc realne ryzyko zależy od siły haseł i od tego, czy slug pokrywa się z loginem [6].

RYS. 1.2Od identyfikatora do przejęcia konta

Pusta lista nie oznacza braku kont. Anonimowy klient widzi tylko autorów opublikowanych wpisów [4], a przekierowanie z ?author= działa tylko dla użytkownika z opublikowanym wpisem [5]. Administrator, który niczego nie publikuje, nie pojawi się żadną z tych dróg.

Blokada jednej ścieżki. Reguła odmawiająca dostępu do /wp-json/ nie obejmuje żądania z parametrem rest_route, bo obie drogi kończą się w tej samej obsłudze zmiennej zapytania [3].

Przykłady

Dokumentacja REST API odradza wyłączanie całego interfejsu, bo przestają wtedy działać funkcje panelu administracyjnego; zamiast tego pozwala wymagać uwierzytelnienia filtrem rest_authentication_errors ze sprawdzeniem is_user_logged_in [10]. Węższym narzędziem jest filtr rest_endpoints (od wersji 4.4.0), który filtruje tablicę dostępnych tras REST API i pozwala usunąć z niej trasy użytkowników [9]. Po stronie archiwum autora przekierowanie przechodzi przez filtr redirect_canonical, a zwrócenie z niego false anuluje przekierowanie [5].

Żądanie lub ustawienieOdpowiedźCo ujawnia
GET /wp-json/wp/v2/users bez logowania [1] [4]200 z listą autorów wpisówid, name, slug, link
GET /wp-json/wp/v2/users?context=edit bez uprawnień [4]odmowalogin, e-mail i role pozostają ukryte
GET /?rest_route=/wp/v2/users przy blokadzie /wp-json/ [2] [3]200 z tą samą listąslug
GET /?author=1, autor z opublikowanym wpisem [5]przekierowanie na archiwum autoraslug w adresie
GET /?author=1, konto bez wpisów [5]brak przekierowanianic
Filtr rest_endpoints usuwający trasy użytkowników [9]brak trasylista niedostępna
Filtr redirect_canonical zwracający false dla ?author= [5]brak przekierowaniaslug nie trafia do nagłówka Location
rest_authentication_errors z is_user_logged_in [10]błąd dla anonimowychcały REST tylko po zalogowaniu
TAB. 1.1Przypisy10
  1. [1] Users — REST API Handbook Reference · WordPress.org
  2. [2] Routes and Endpoints — REST API Handbook · WordPress.org
  3. [3] rest-api.php — rejestracja tras i reguł przepisywania REST API · WordPress
  4. [4] class-wp-rest-users-controller.php — kontroler /wp/v2/users · WordPress
  5. [5] canonical.php — funkcja redirect_canonical · WordPress
  6. [6] user.php — funkcja wp_insert_user · WordPress
  7. [7] Reporting Security Vulnerabilities — Core Contributor Handbook · WordPress.org
  8. [8] WSTG-IDNT-04 — Account Enumeration and Guessable User Account · OWASP Web Security Testing Guide
  9. [9] Hook rest_endpoints — Code Reference · WordPress.org
  10. [10] Frequently Asked Questions — REST API Handbook · WordPress.org
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 exposure
W 30 dni
0przebiegów
Ostatni
19.09.2026start przebiegu
Stron w przebiegach
—33 przebiegów bez liczby stron
ARK. 3

CARD

karta z kodu CREATO_PING, odczyt 22.09.2026

Jak ten parametr trafia do ClickUpa: wynik sondy to linia w subtasku 2. Pomiar, a usterka, którą otwiera — linia w subtasku 1. Podsumowanie (z identyfikatorem CWE i kategorią OWASP), skąd liczy się wskaźnik zagrożenia i status strony. Projekcja z bazy skanera odświeża oba subtaski co godzinę. Do 22.09 każde ustalenie dostawało własny subtask i status ze starego słownika (PODATNA, WARNING…) — te słowa zostały jeszcze w części opisów pomiaru niżej jako język wewnętrzny sond.

RYS. 3.1Droga parametru przez system: REST API: enumeracja użytkowników
TAB. 3.1Pomiarpliki: 8
Obszar i ważnośćBezpieczeństwo · wysoka (B11)
Workflow i częstotliwośćcreato_ping_security_v2 · P3 działa na LAB247Skaner 2.0, rytm „p3” / „bezpieczenstwo”: premium co 6 h, reszta co 24 h (tier 1–3), co 9 dni (tier 4) · Dokładny skan. dns_integrity porównuje NS, MX, SPF i DMARC z wzorcem z poprzedniego przebiegu.
Sonda i helpersposób exposure · CREATO_PING/helpers/exposure_check.py
Testy
  1. Tylko przebieg P3; przed sondami strażnik losowej ścieżki (200 z treścią = sondy pominięte).
  2. GET /?rest_route=/wp/v2/users&per_page=100 i /wp-json/wp/v2/users bez podążania za przekierowaniami; reguła: kod 200, treść zaczyna się od [ i zawiera pole slug. Trafienia obu ścieżek sklejane w jedno ustalenie.
  3. GET /?author=1 bez podążania za przekierowaniem; reguła: kod 3xx i nagłówek Location z /author/ i segmentem po nim.
Typ wyniku0 do 2 ustaleń: exposure_users_enum (REST) i exposure_author_enum (przekierowanie autora)
Jednostkabrak — wynik jakościowy; w dowodzie liczba i pierwsze trzy slugi kont albo slug z przekierowania
Próg i regułaTimeout odpowiedzi 15 s, połączenia 5 s. 401, 403, 404, pusta tablica, błąd sieci i timeout = brak ustalenia.
Gdzie leżą pokrętłaCREATO_PING/helpers/exposure_check.py → PROBES (json_users, author_redirect), _AUTHOR_LOCATION, _REDIRECT_CODESCREATO_PING/helpers/config.py → TIMEOUTS["exposure"], TIMEOUTS["security_connect"]CREATO_PING/helpers/security_runner.py → do_writera (bramka gate z polityki; sito powagi zniknęło 18.09)CREATO_PING/config/incident_policy.toml → [finding] exposure_users_enum, exposure_author_enum
Retencja odczytówSurowy pomiar jako NIEZMIENNY wiersz tabeli `odczyty` w bazie skanera (wejście, wyjście, dowody, sha karty sondy i helpera, commit kodu) — trigger odrzuca każdą zmianę. Okno retencji z kohorty: 90 dni premium, 30 dni reszta; poza oknem zostają odczyty z werdyktem problemu, akcją albo etykietą, bo replay reguł ich potrzebuje (`skaner/retencja.py`). Do LAB247 ten kanał nie idzie (do bazy serwisu jadą dziś tylko sprawdzenia dostępności), więc poza odczytem zostaje werdykt w tabeli `werdykty` i sprawa w tabeli `sprawy`.
Znane rozbieżności
  1. Dowód podpisuje jako login wartość, która jest slugiem (user_nicename): REST bez logowania nie zwraca loginu. Slug zwykle pochodzi z loginu, ale może się od niego różnić.
  2. Ustalenie wysokie powstaje na domyślnej instalacji WordPressa z choć jednym opublikowanym wpisem — rdzeń uznaje tę listę za publiczną z założenia, więc usterka obejmuje każdą stronę bez utwardzenia.
  3. Pusta lista nie znaczy „loginy ukryte”: anonimowy klient widzi tylko autorów opublikowanych wpisów — administrator bez wpisów jest niewidoczny na wszystkich trzech drogach.
  4. Sondowany jest tylko numer konta 1; inne numery nie są próbowane.
  5. Liczba kont w dowodzie jest zaniżona: liczone są slugi w pierwszych 5000 znaków, a ścieżka /wp-json/ pyta tylko o 10 rekordów.
  6. alert w polityce nie jest czytany, brak trzeciego stanu i brak sygnału zamknięcia — wspólne dla sond ekspozycji.
kandydaci do pętli: kod a opis parametru albo specyfikacja
Karta przepisana zCREATO_PING/helpers/exposure_check.py · CREATO_PING/helpers/config.py · CREATO_PING/config/incident_policy.toml · CREATO_PING/helpers/security_runner.py · CREATO_PING/skaner/adapter_clickup.py · CREATO_PING/skaner/sprawy.py · CREATO_PING/skaner/usterki.toml · CREATO_PING/skaner/ocena.py · odczyt 22.09.2026
TAB. 3.2Co oznacza failtypów Findingów: 2

exposure_users_enum: bramka polityki otwarta (gate=true) → sprawa w skanerze → API ujawnia loginy administratorów — waga 2 → ocena 3–4 (niebieski), status strony „niski”, dopóki sprawa jest otwarta. exposure_author_enum: bramka polityki otwarta (gate=true) → sprawa w skanerze → Adres ?author=1 ujawnia login administratora — waga 2 → ocena 3–4 (niebieski), status strony „niski”, dopóki sprawa jest otwarta. Jak przy otwartym xmlrpc.php: komplet składników łańcucha `przejecie_konta` dokłada jedną usterkę o wadze 3, groźniejszą niż każdy składnik osobno.

KodFindingSeverityPewnośćSkutekFinding / alarmWaga → ocenaCo zrobić
B11.01Enumeracja użytkownikówexposure_users_enumWysokaEwidentneotwarta podatnośćtak / niewaga 2 → ocena 3–4 (niebieski)Zablokuj /wp-json/wp/v2/users i ?author=N.
B11.02Login administratora z /?author=1exposure_author_enumWysokaEwidentneotwarta podatnośćtak / niewaga 2 → ocena 3–4 (niebieski)Zablokuj przekierowanie ?author=N (reguła serwera albo wtyczka bezpieczeństwa).
TAB. 3.3B11.01 · Enumeracja użytkownikówwersja 1 · 01.10.2026
Kod i kluczB11.01 · exposure_users_enum · w tabeli typów
Co znaczyREST API ujawnia loginy administratorów — atakujący zna połowę danych do logowania.
Kiedy powstajeGET /?rest_route=/wp/v2/users&per_page=100 oraz GET /wp-json/wp/v2/users: status == 200, treść po strip() zaczyna się od '[' i zawiera '"slug"' (check json_users).Ocena :217-222. Przy trafieniu na obu ścieżkach dedup zostawia pierwszy (rest_route). W evidence users=N; first=3 slugi (:282-284).
Severity · pewnośćWysoka · Ewidentne
Skutek dla stronyotwarta podatność · zakłada Finding · alarm nie
Waga → ocenawaga 2 → ocena 3–4 (niebieski)
KlasyfikacjaCWE: CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor)OWASP Top 10:2025: A01:2025 Broken Access ControlMITRE ATT&CK 19.2: T1589 Gather Victim Identity Information (warunek)OWASP ASVS 5.0.0: 6.3.8OCSF 1.9.0: Vulnerability Finding (class_uid 2002)
Rekord OCSFfinding_info.analytic.uid = "B11.01" · analytic.name = "exposure_users_enum" · finding_info.types = ["B11 REST API: enumeracja użytkowników"]
Co zrobićZablokuj /wp-json/wp/v2/users i ?author=N.
Wersje typu
  1. v1 · 01.10.2026 — kod B11.01 nadany (finding-codes.ts)
TAB. 3.4B11.02 · Login administratora z /?author=1wersja 1 · 01.10.2026
Kod i kluczB11.02 · exposure_author_enum · w tabeli typów
Co znaczyPrzekierowanie /?author=1 na /author/<login>/ ujawnia login konta — połowę danych do brute-force.
Kiedy powstajeGET /?author=1 bez podążania za przekierowaniem: status należy do {301,302,303,307,308}, a nagłówek Location pasuje do regexu '/author/([^/?#\s]+)' (IGNORECASE).Ocena :231-235. W evidence login=<grupa 1> (:279-281).
Severity · pewnośćWysoka · Ewidentne
Skutek dla stronyotwarta podatność · zakłada Finding · alarm nie
Waga → ocenawaga 2 → ocena 3–4 (niebieski)
KlasyfikacjaCWE: CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor)OWASP Top 10:2025: A01:2025 Broken Access ControlMITRE ATT&CK 19.2: T1589 Gather Victim Identity Information (warunek)OWASP ASVS 5.0.0: 6.3.8OCSF 1.9.0: Vulnerability Finding (class_uid 2002)
Rekord OCSFfinding_info.analytic.uid = "B11.02" · analytic.name = "exposure_author_enum" · finding_info.types = ["B11 REST API: enumeracja użytkowników"]
Co zrobićZablokuj przekierowanie ?author=N (reguła serwera albo wtyczka bezpieczeństwa).
Wersje typu
  1. v1 · 01.10.2026 — kod B11.02 nadany (finding-codes.ts)
ARK. 4

LOOP

pętli: 3
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ętle3 · zmian: 5 · wpływających na cały system: 3
Strażnik losowej ścieżki i dłuższy limit czasu dla sond ekspozycjizamknięta historyczna 2026-09-05

Sygnał: Tarcze antybotowe hostingu, strony parkingowe i serwery catch-all odpowiadają 200 na każdą ścieżkę, więc sondy oparte na kodzie 200 dawały „wystawiony” wszędzie. Równocześnie sondy na wolnych hostingach odpowiadały po około 15 s, a limit 5 s ucinał je bez śladu. · dotyczy też: Ekspozycja .env, Kopie wp-config.php, Ekspozycja .htaccess.bak, Dostępność xmlrpc.php, Ekspozycja .git/HEAD, Dostępność readme.html, Dostępność wp-cron.php, Ekspozycja kopii zapasowych, Ekspozycja zrzutu bazy, Ekspozycja manifestów dev, Ekspozycja .DS_Store

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręcznieprzegląd skanera: 200 na wszystko i ciche timeouty to fałszywe wyniki
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionestrażnik ścieżki, 15 s, logowanie błędów
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-09-05Przed sondami GET losowej, nieistniejącej ścieżki; odpowiedź 200 z treścią = zero sond i jedno ustalenie exposure_scan_unreliable (niska powaga, bez subtaska).helpers/exposure_check.py · config/incident_policy.tomlOdpowiedź 200 na losową ścieżkę dowodzi, że kod 200 na tym serwerze nic nie znaczy; dalsze sondowanie tarczy grozi banem IP monitoringu.cały system Obejmuje wszystkie sondy ekspozycji naraz i wprowadza typ „nie dało się sprawdzić”; tę samą konwencję dostało wykrywanie wtyczek. Ustalenie ma niską powagę, więc filtr przebiegu je odrzuca i w produkcji nie zostawia śladu.b0fc77cbez replayubez zapisu zatwierdzenia
2026-09-05Limit odpowiedzi z 5 s na 15 s i połączenia z 2 s na 5 s, przeniesione do config.py; błąd sieci sondy logowany zamiast cichego pustego wyniku; do 4 sond naraz na stronę.helpers/config.py · helpers/exposure_check.py · helpers/html_fetch.py · helpers/wp_fingerprint.pyWolne hostingi odpowiadały po około 15 s, a pusty wynik po timeoucie był nieodróżnialny od „sprawdzone, czysto”.cały system Limit połączenia 5 s przejęło wspólne pobieranie HTML całego skanu bezpieczeństwa i wykrywanie wersji — strony z wolnym TLS przestały wypadać z całego skanu.b0fc77cbez replayubez zapisu zatwierdzenia
Limit 64 KB czytanej odpowiedzi po awarii pamięcizamknięta historyczna 2026-07-19

Sygnał: Brak pamięci podczas skanu: publiczny debug.log jednej ze stron był bardzo duży, a klient HTTP buforował całą odpowiedź. · dotyczy też: Sitemap.xml, Kopie wp-config.php, Ekspozycja .env, Ekspozycja .htaccess.bak, Dostępność xmlrpc.php, Ekspozycja .git/HEAD, Dostępność readme.html, Dostępność wp-cron.php, Ekspozycja kopii zapasowych, Ekspozycja zrzutu bazy, Ekspozycja manifestów dev, Ekspozycja .DS_Store

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręcznieawaria procesu przypisana ścieżce debug.log
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionestrumień z limitem 64 KB
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-07-19Odpowiedź sondy czytana strumieniem do 64 KB; do oceny idzie pierwsze 5000 znaków.helpers/exposure_check.py · helpers/html_fetch.py · helpers/sitemap_check.pyDo rozpoznania ekspozycji wystarcza początek pliku; zmiana dotyczy sposobu czytania, nie werdyktu.cały system Brak pamięci w helperze zatrzymywał cały proces skanu bezpieczeństwa partii stron; ten sam limit dostało sprawdzenie sitemap.343b699bez replayubez zapisu zatwierdzenia
Enumeracja użytkowników także przez ?rest_route= i /?author=1zamknięta historyczna 2026-09-05

Sygnał: Blokada /wp-json/ na poziomie WAF-a dawała „czysto”, choć ta sama lista kont była dostępna przez /?rest_route=/wp/v2/users, a login administratora zdradzało przekierowanie /?author=1.

  1. 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
  2. 2. Werdyktręcznieprzegląd skanera: blokada jednej ścieżki nie zamyka enumeracji
  3. 3. Miarabrakliczników trafności wtedy nie było
  4. 4. Kartabrakkarta parametru powstała 2026-09-16
  5. 5. Zmianazrobionedwie dodatkowe drogi enumeracji
  6. 6. Replaybrakbrak zapisanych odczytów do replayu
DataZmianaPowódWpływ na systemCommit · replay
2026-09-05Sonda /?rest_route=/wp/v2/users obok /wp-json/wp/v2/users; trafienia sklejane w jedno ustalenie, w dowodzie liczba kont i trzy pierwsze loginy.helpers/exposure_check.pyParametr rest_route omija blokadę samej ścieżki /wp-json/.tylko ten parametrb0fc77cbez replayubez zapisu zatwierdzenia
2026-09-05Sonda /?author=1 bez podążania za przekierowaniem: 3xx na /author/<login>/ = ustalenie exposure_author_enum (wysoka powaga, subtask PODATNA).helpers/exposure_check.py · config/incident_policy.tomlLogin administratora wycieka przekierowaniem nawet wtedy, gdy REST jest zablokowany.tylko ten parametrb0fc77cbez replayubez zapisu zatwierdzenia
Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com