JFrog ujawnił krytyczną podatność CVE-2025-11953 (CVSS 9.8) w popularnym pakiecie npm @react-native-community/cli (i komponencie cli-server-api) wykorzystywanym do uruchamiania serwera deweloperskiego Metro w projektach React Native. Luka pozwala niezautoryzowanemu atakującemu na zdalne wykonanie poleceń poprzez wysłanie żądania POST do podatnego endpointu serwera. Błąd został załatany — poprawka dostępna jest od wersji 20.0.0 pakietu @react-native-community/cli-server-api.
W skrócie
CVE-2025-11953 umożliwia zdalne wykonanie kodu (RCE) na maszynie, która uruchomiła serwer Metro z podatną wersją CLI.
Dotyczy projektów inicjalizowanych z użyciem @react-native-community/cli (bez frameworka), gdy Metro nasłuchuje na interfejsach zewnętrznych. Expo i środowiska niekorzystające z Metro zwykle nie są podatne.
Wykonalność: pełne RCE potwierdzone na Windows; na macOS/Linux — uruchamianie arbitralnych programów z ograniczoną kontrolą argumentów (prawdopodobnie możliwa eskalacja po dalszych badaniach).
Aktualizacja do ≥20.0.0 (cli-server-api) lub wiązanie serwera do 127.0.0.1 niweluje ryzyko.
Kontekst / historia / powiązania
Zespół JFrog Security Research opisał podatność 4 listopada 2025 r.; SecurityWeek nagłośnił problem tego samego dnia. Meta (współopiekun ekosystemu RN) szybko wprowadziła poprawkę. Incydent wpisuje się w szerszy trend zagrożeń łańcucha dostaw JavaScript/npm oraz ataków na narzędzia deweloperskie.
Analiza techniczna / szczegóły luki
Zakres wersji: podatny jest komponent @react-native-community/cli-server-api w wersjach 4.8.0–20.0.0-alpha.2; naprawiono od 20.0.0. W praktyce dotyczy to również odpowiadających im wersji @react-native-community/cli.
Przyczyna: endpoint /open-url w middleware CLI przyjmował wartość z ciała żądania (req.body.url) i przekazywał ją bez walidacji do funkcji open() (pakiet open), co prowadzi do Command Injection. Dodatkowo serwer bywał wiązany do 0.0.0.0/[::] (zamiast localhost), wystawiając go na sieć.
Wektor ataku (bez uwierzytelniania): atakujący w tej samej sieci (lub przez ekspozycję portu) wysyła POST na podatny endpoint; na Windows możliwe jest wykonanie dowolnych poleceń shell (np. cmd /c ...).
Identyfikatory i scoring: CVE-2025-11953, CVSS 3.1: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).
Advisory: wpis w GitHub Advisory Database opisuje podatność jako OS command injection w serwerze Metro otwieranym przez RN CLI.
Praktyczne konsekwencje / ryzyko
Przejęcie stacji deweloperskiej: uruchamianie arbitralnych poleceń (pełne RCE na Windows) może skutkować kradzieżą tokenów, kluczy SSH, poświadczeń do rejestrów, a nawet zatruciem łańcucha dostaw poprzez wstrzyknięcie backdoorów do kodu aplikacji.
Pivot w sieci firmowej: stanowiska Dev często mają szerokie uprawnienia i dostęp do CI/CD; złośliwy kod może rozprzestrzenić się do pipeline’ów. (Wniosek na bazie wektora RCE i typowych konfiguracji CI/CD).
Atak z sąsiedniej sieci / Wi-Fi gościnne: domyślny binding na wszystkie interfejsy zwiększa ryzyko w środowiskach współdzielonych (biura, coworkingi).
Rekomendacje operacyjne / co zrobić teraz
1) Natychmiastowe działania naprawcze
Zaktualizuj **@react-native-community/cli-server-api do wersji >= 20.0.0 we wszystkich projektach RN; w razie potrzeby zaktualizuj także @react-native-community/cli do wersji zgodnej z poprawką.
Jeśli aktualizacja teraz niemożliwa: uruchamiaj Metro z wiązaną pętlą zwrotną: npx react-native start --host 127.0.0.1
2) Detekcja i triage
Sprawdź, czy w projekcie/globalnie masz podatny pakiet: npm list @react-native-community/cli-server-api oraz npm list -g @react-native-community/cli-server-api.
Przejrzyj logi zapór/IDS oraz telemetrykę hostów pod kątem nietypowych żądań POST do serwera Metro i uruchomień procesów spoza IDE (zwłaszcza na Windows). (Dobre praktyki wynikające z wektora ataku).
3) Utwardzenie procesu developerskiego
Ogranicz ekspozycję: tuneluj dostęp do Metro przez adb reverse/USB lub używaj sieci izolowanych dla dev.
Higiena sekretów: rotuj tokeny npm/GitHub, klucze SSH i ciasteczka SSO, jeśli Metro było wystawione i podatne.
CI/CD: uruchamiaj buildy w czystych, odseparowanych agentach; włącz skan zależności (SCA) i SAST (np. reguły wykrywające flow req.body → open()). (Rekomendacje spójne z analizą JFrog).
Różnice / porównania z innymi przypadkami (jeśli dotyczy)
W przeciwieństwie do wielu incydentów npm z 2025 r. (ataków supply-chain poprzez zainfekowane pakiety), CVE-2025-11953 nie wymaga zainstalowania złośliwej wersji biblioteki — atak trafia w interfejs HTTP serwera dev działający lokalnie, ale często wystawiony do sieci. (Porównanie do ostatnich kampanii npm ma charakter kontekstowy).
Podsumowanie / kluczowe wnioski
Zagrożenie jest realne i krytyczne (CVSS 9.8): wystarczy niezaufane żądanie POST do serwera Metro.
Patch jest dostępny: aktualizuj do @react-native-community/cli-server-api >= 20.0.0 i/lub wiąż Metro do 127.0.0.1.
Zadbaj o higienę środowisk Dev: ogranicz ekspozycję, rotuj sekrety, wzmocnij monitoring oraz polityki CI/CD.
Badacze opisali nową technikę operacyjną grupy Curly COMrades: po kompromitacji hosta z Windows napastnicy włączają Hyper-V i importują ukrytą, minimalistyczną maszynę wirtualną z Alpine Linux, w której uruchamiają własne implanty. Dzięki izolacji wykonywania w VM unikają detekcji przez rozwiązania EDR działające na hoście.
W skrócie
Atakujący tworzą lekki VM (ok. 120 MB dysku, 256 MB RAM) na Hyper-V i nazywają go „WSL”, aby zlał się z otoczeniem.
Wewnątrz VM działają CurlyShell (reverse shell przez HTTPS, persystencja cron) i CurlCat (reverse proxy/SSH→HTTPS).
VM używa Default Switch Hyper-V, więc cały ruch wygląda jakby pochodził z IP hosta. To utrudnia sieciową detekcję C2.
Kampania była obserwowana m.in. latem 2025 r.; badania prowadził Bitdefender z udziałem CERT Gruzja.
Kontekst / historia / powiązania
Curly COMrades to aktor APT działający co najmniej od 2024 r., powiązany z celami zgodnymi z interesami Rosji. Wcześniejsze aktywności obejmowały m.in. sektor publiczny w Gruzji i energetykę w Mołdawii. Najnowsza publikacja rozszerza znane TTP o trwałą obecność w VM Hyper-V na hostach ofiar.
Analiza techniczna / szczegóły luki
Wejście i przygotowanie środowiska
Napastnicy zdalnie włączają rolę Hyper-V i wyłączają interfejs zarządzania, używając poleceń DISM; następnie importują prekonfigurowaną VM (VMCX/VHDX) i startują ją PowerShellem: Import-VM oraz Start-VM -Name WSL. Pliki VM trafiają pod mylącą ścieżkę w C:\ProgramData\Microsoft\AppV\app\.
Konfiguracja VM
VM z Alpine Linux jest skrojony „pod ofiarę” (m.in. wpisy /etc/hosts, niestandardowy DNS w /etc/resolv.conf). Sieć ustawiona na Default Switch (NAT), co tuneluje ruch przez stos sieciowy hosta.
Implanty i persystencja
CurlyShell (ELF, C++, libcurl) – reverse shell przez HTTPS, uruchamiany okresowo via cron; ukrywa I/O, stosuje niestandardową bazę Base64 w protokole C2. Przykładowy hash: MD5 c6dbf3de8fd1fc9914fae7a24aa3c43d.
CurlCat (ELF, C++, libcurl) – lekki tunnel/ProxyCommand w ~/.ssh/config, pakuje SSH w HTTP/HTTPS; przykład MD5: 1a6803d9a2110f86bb26fcfda3606302.
Dalsze operacje
Skrypty PowerShell do lateral movement/persystencji (m.in. wstrzyknięcia biletów Kerberos do LSASS oraz zadania GPO zakładające lokalne konta).
Praktyczne konsekwencje / ryzyko
Omijanie EDR host-based: wykonanie i artefakty procesu są „przeniesione” do VM, a ruch C2 bywa widoczny jedynie jako zwykły HTTPS z IP hosta. Bez inspekcji na granicy host↔VM anomalia może pozostać niewidoczna.
Trwałość i pivot: reverse proxy ułatwia skryte łącza zwrotne i przesiadki w sieci, także gdy host jest pozornie „czysty”.
Mylenie obrony: nazwanie VM jako „WSL” i ulokowanie plików w ProgramData\Microsoft\AppV\ ma obniżyć czujność operatorów SOC.
Rekomendacje operacyjne / co zrobić teraz
Inwentaryzacja i kontrola wirtualizacji
Wymuś politykę: Hyper-V wyłączone na stacjach/serwerach, gdzie nie jest potrzebne. Alarmuj na nagłe włączenie roli Hyper-V (zapis DISM), import/start VM (logi Hyper-V/VMMS) oraz tworzenie VMCX/VHDX w nietypowych ścieżkach (ProgramData\Microsoft\AppV\...).
Telemetria host↔VM i sieć
Monitoruj interfejs vEthernet (Default Switch), nietypowe połączenia wychodzące przez 443 z hostów bez roli serwerowej, a także HTTP/HTTPS z długimi sesjami i stałą entropią (tunnel). Stosuj egress filtering i listy dozwolonych kierunków.
Hunting
Szukaj: Start-VM -Name WSL, Import-VM na hostach użytkowników; śladów RAR/WinRAR rozpakowujących VM z archiwów; obecności katalogu AppV\app\Virtual Machines\*.vmcx. W logach PowerShell – nietypowe I/O redirection typu | cmd > %ProgramData%\WindowsUpdateTask_*.tmp.
EDR/EDR+NDR
Uzupełnij EDR o host-based network inspection (np. sensoring ruchu z interfejsów wirtualnych) i detekcje HTTPS-tunnel. Bez takiej warstwy VM-based C2 może pozostać niewidoczny.
Twardnienie i polityki
Blokuj możliwość Import-VM/Start-VM dla zwykłych użytkowników; kontroluj WinRM/PowerShell Remoting, używaj Credential Guard/LSA Protection, ogranicz Kerberos ticket manipulation.
IR: triage VM-ów
Jeśli wykryto ślady: zrzut konfiguracji Hyper-V (VM list, switch, NAT), snapshot dysku VHDX do analizy (montaż read-only), sprawdzenie cronów w /etc/crontabs i plików /bin/init_tools, /root/updater, ~/.ssh/config. Hashy CurlyShell/CurlCat porównaj z IOC z publikacji.
Różnice / porównania z innymi przypadkami
Kryminaliści/ransomware wcześniej wykorzystywali VM-y (np. do szyfrowania z wnętrza maszyny), jednak Curly COMrades idzie dalej: VM stanowi bazę operacyjną C2 z customowymi implantami i trwałą łącznością, a nie tylko jednorazowym narzędziem. Nowością jest też agresywne „udawanie” WSL i prekonfigurowany tunel SSH→HTTPS oparty na własnym komponencie (CurlCat).
Podsumowanie / kluczowe wnioski
Wirtualizacja to nie „bezpieczna strefa” – to wektor ukrywania operacji.
Widoczność w warstwie Hyper-V (zdarzenia, konfiguracje, pliki) i inspekcja ruchu z interfejsów wirtualnych stają się krytyczne.
Implementuj zasadę najmniejszych uprawnień dla operacji Hyper-V, monitoruj Default Switch i poluj na artefakty „WSL” w Hyper-V.
Źródła / bibliografia
Bitdefender: „Curly COMrades: Evasion and Persistence via Hidden Hyper-V Virtual Machines” (04.11.2025) – analiza techniczna, TTP, IoC. (Bitdefender)
BleepingComputer: „Russian hackers abuse Hyper-V to hide malware in Linux VMs” (04.11.2025) – omówienie kampanii. (BleepingComputer)
Dark Reading: „Pro-Russian Hackers Use Linux VMs to Hide in Windows” (04.11.2025) – kontekst i wnioski. (darkreading.com)
The Register: „Russian spies pack custom malware into hidden VMs on Windows” (04.11.2025) – streszczenie i cytaty z badań. (The Register)
Krytyczna podatność w CoolType.dll (obsługa czcionek) programu Adobe Reader/Acrobat umożliwia zdalne wykonanie kodu po otwarciu specjalnie spreparowanego pliku PDF zawierającego wadliwy TTF z tabelą SING. Błąd był aktywnie wykorzystywany od września 2010 r.; naprawiono go w wersjach 9.4 / 8.2.5 (oraz później w Reader X z sandboxem). Mapowanie ATT&CK: T1566.001 (dostarczenie załącznikiem), T1204.002 (uruchomienie przez użytkownika), T1203 (exploitation for client execution). W praktyce szukaj: niezwykłych procesów potomnych uruchamianych przez AcroRd32.exe/Acrobat.exe, gwałtownych crashy modułu CoolType.dll (Event ID 1000) i łącz to z telemetrią pocztową.
Krótka definicja techniczna
CVE-2010-2883 to buforowy przepełnienie stosu w CoolType.dll (parsowanie tabeli SING w czcionce TrueType osadzonej w PDF), wyzwalane przy otwarciu złośliwego dokumentu PDF; skutkiem jest crash lub wykonanie dowolnego kodu w kontekście aplikacji.
Gdzie występuje / przykłady platform
Windows, macOS, UNIX (Reader 9.3.4 i starsze; Acrobat 9.3.4 i starsze; Reader/Acrobat 8.x do 8.2.4) — systemy te były podatne przed aktualizacją do 9.4/8.2.5.
Środowiska korporacyjne (AD/M365): najczęściej wektor dostarczenia to spearphishing z PDF (Exchange/M365). Mapowanie do ATT&CK Initial Access.
Chmura (AWS/GCP/Azure): pliki bywały hostowane na publicznych zasobnikach (np. S3); przydaje się telemetria dostępu (CloudTrail/S3 Access Logs) do analizy dystrybucji. [Uwaga: nie jest to błąd usług chmurowych, a jedynie kanał dostarczenia.]
K8s/ESXi: brak bezpośredniego wpływu — jedynie gdy stacje VDI/WorkSpaces otwierają PDF.
Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)
PDF może osadzać czcionki TTF/OTF. W podatnych wersjach Reader/Acrobat błędny kod w bibliotece CoolType nieprawidłowo łączył ciągi (m.in. z pola uniqueName w tabeli SING) wykonując niebezpieczne operacje na buforze (np. strcat), co prowadziło do przepełnienia stosu. Napastnik, dołączając tak przygotowany TTF do PDF, osiągał wykonanie kodu po otwarciu dokumentu przez ofiarę. We wrześniu 2010 r. raportowano aktywną eksploatację w kampaniach spearphishingowych. Adobe wydało aktualizacje 8.2.5/9.4 (APSB10‑21), zaś Reader X (11/2010) wprowadził Protected Mode (sandbox), znacząco utrudniający dalsze nadużycia klas tego typu błędów.
ParentImage=…\AcroRd32.exe, Image=…\powershell.exe, CommandLine zawiera -enc/URL
Wzorzec po‑eksploatacyjny (T1204.002/T1203)
Sysmon
1 (ProcessCreate)
Jak wyżej, bogatsze pola (hash, integrator)
Image, ParentImage, CommandLine
Sysmon
3 (NetworkConnect)
Nietypowe połączenia z procesu Reader/Acrobat po otwarciu PDF
AcroRd32.exe → nietypowe domeny/IP
Koreluj z 4688/1
Sysmon
11/15 (FileCreate/FileStream)
Upuszczenia binariów do %APPDATA%\*\Temp
Nazwy losowe .exe/.dll
Windows Application
1000/1001
Crash AcroRd32.exe/Acrobat.exe z modułem CoolType.dll (DoS/corruption)
„Faulting module name: CoolType.dll”
Częsty artefakt przy próbie eksploatacji
Poczta (M365/Exchange)
Threat/Policy events
Załączniki PDF oznaczone jako złośliwe/heurystyka fontów; kampanie spearphishing
Identyfikatory alertów EOP/Defender for Office
Mapuj do T1566.001
Proxy/HTTP
—
Pobrania PDF z domen jednorazowych/S3
UA programu pocztowego lub przeglądarki
AWS CloudTrail (S3 Data Events)
GetObject
(Gdy dystrybucja przez S3) masowe pobrania .pdf z publicznych bucketów
eventSource="s3.amazonaws.com" AND key LIKE "%.pdf"
Kanał dostarczenia, nie wektor wykonania
(Zakres podatnych wersji i platform: Adobe Advisory/US‑CERT).
Detekcja (praktyczne reguły)
Sigma (Windows / process_creation)
title: Acrobat/Reader Spawns Suspicious Child (CVE-2010-2883 Follow-on)
id: 2b2b8f2a-9a0e-4e7d-9b1c-4b3d9c9b6a88
status: test
description: >
Wykrywa podejrzane procesy potomne uruchamiane przez AcroRd32.exe/Acrobat.exe,
co może wskazywać na eksploatację PDF (np. CVE-2010-2883) i fazę post-exploitation.
references:
- https://attack.mitre.org/techniques/T1204/002/
- https://attack.mitre.org/techniques/T1203/
logsource:
product: windows
category: process_creation
detection:
sel_parent:
ParentImage|endswith:
- '\AcroRd32.exe'
- '\Acrobat.exe'
sel_child:
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\rundll32.exe'
- '\regsvr32.exe'
- '\msiexec.exe'
sel_cmd:
CommandLine|contains:
- ' -enc '
- 'http://'
- 'https://'
- 'FromBase64String'
condition: sel_parent and sel_child or (sel_parent and sel_cmd)
falsepositives:
- Otwarcie linku z PDF uruchamiające przeglądarkę (dopuszczalne; dodaj allowlist)
- Wtyczki lub integracje korporacyjne Acrobat (rzadko)
level: high
tags:
- attack.t1204.002
- attack.t1203
- attack.t1566.001
(Mapowanie ATT&CK)
Splunk (SPL)
(index=win* (sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1)
OR (sourcetype="WinEventLog:Security" EventCode=4688))
| eval ParentImage=coalesce(ParentImage, ParentProcessName, process_parent_image)
| eval Image=coalesce(Image, New_Process_Name, process_name)
| eval CommandLine=coalesce(CommandLine, Process_Command_Line, cmdline)
| search (like(ParentImage, "%\\AcroRd32.exe") OR like(ParentImage, "%\\Acrobat.exe"))
| search (like(Image, "%\\cmd.exe") OR like(Image, "%\\powershell.exe") OR like(Image, "%\\wscript.exe") OR like(Image, "%\\cscript.exe")
OR like(Image, "%\\rundll32.exe") OR like(Image, "%\\regsvr32.exe") OR like(Image, "%\\msiexec.exe")
OR CommandLine="* -enc *" OR CommandLine="*http*")
| stats earliest(_time) as firstSeen latest(_time) as lastSeen values(CommandLine) as cmd by host user ParentImage Image
| convert ctime(firstSeen) ctime(lastSeen)
KQL (Microsoft Defender for Endpoint / Sentinel)
DeviceProcessEvents
| where InitiatingProcessFileName in~ ("AcroRd32.exe","Acrobat.exe")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","rundll32.exe","regsvr32.exe","msiexec.exe")
or ProcessCommandLine has_any (" -enc ","http://","https://","FromBase64String")
| project TimeGenerated, DeviceName, InitiatingProcessAccountName,
InitiatingProcessFileName, FileName, ProcessCommandLine, InitiatingProcessCommandLine
| order by TimeGenerated desc
CloudTrail (CloudWatch Logs Insights) – dystrybucja przez S3 (opcjonalnie)
fields @timestamp, eventName, userAgent, requestParameters.bucketName as bucket,
requestParameters.key as key, sourceIPAddress
| filter eventSource = "s3.amazonaws.com" and eventName = "GetObject" and key like /.*\.pdf$/i
| stats count() as downloads by bucket, key, sourceIPAddress, userAgent
| sort downloads desc
Elastic / EQL
process where event.type == "start" and
process.parent.name in ("AcroRd32.exe","Acrobat.exe") and
process.name in ("cmd.exe","powershell.exe","wscript.exe","cscript.exe",
"rundll32.exe","regsvr32.exe","msiexec.exe")
Heurystyki / korelacje
Łańcuch rodzic‑potomek:AcroRd32.exe/Acrobat.exe → [„LOLBins”] powershell/wscript/rundll32 → połączenie sieciowe → zapis pliku w %APPDATA%.
Crash & połączenie: bliski w czasie Application Error 1000 (moduł CoolType.dll) i nowa aktywność procesu skryptowego.
Rzadkość: anomalna dla danej stacji liczba otwarć PDF zakończonych utworzeniem procesu systemowego lub połączeniem wychodzącym.
Poczta: alerty EOP/Defender for Office skorelowane z otwarciem konkretnego załącznika PDF (T1566.001).
False positives / tuning
Legalne akcje: kliknięcie linku w PDF (otwarcie przeglądarki) — odfiltrować „browser allowlist”.
Aktualizacje/Wtyczki: rzadkie scenariusze, w których PDF uruchamia dozwolony instalator/wtyczkę (np. msiexec w integracjach przedsiębiorstwa).
Tuning pól: wymagaj co najmniej jednego warunku: CommandLine z URL/-enc, hash niepodpisanego potomka, brak reputacji, lub nietypowe remote IP.
Playbook reagowania (IR)
Zatrzymaj rozprzestrzenianie: izoluj host(y) z alertami (EDR).
Przegląd KEV / zarządzanie podatnościami — CVE-2010-2883 traktować jako historycznie wykorzystywaną podatność (wysoki priorytet, jeśli legacy).
Uwaga końcowa: Podatność jest historyczna, ale nadal pojawia się w dziedzictwie (legacy) oraz w zestawach testowych. Kluczowe są: aktualizacje, sandboxing czytnika PDF oraz detekcje łańcuchów po‑eksploatacyjnych z procesów AcroRd32.exe/Acrobat.exe.
Luka w Windows Shell umożliwia zdalne wykonanie kodu przy samym wyświetleniu ikony spreparowanego skrótu .LNK/.PIF (bez kliku). Załatana w biuletynie MS10‑046 (KB2286198).
Realne zagrożenie: USB/udziały sieciowe/WebDAV → otwarcie folderu z LNK uruchamia kod napastnika. To był kluczowy wektor Stuxnet.
Mapowanie na ATT&CK: T1203, T1204.002, T1091 (replikacja przez nośniki).
Detekcja: Sysmon EID 7 (ImageLoad) z explorer.exe ładuje DLL z nośnika wymiennego, EID 1 (ProcessCreate) dla rundll32.exe z literą dysku USB; korelacja z USBDriveMounted w MDE.
Remediacja: Patch MS10‑046, blokady ASR/Device Control na USB, ograniczenie AutoRun/AutoPlay, polityki nośników.
Krótka definicja techniczna
CVE‑2010‑2568 to błąd w parsowaniu skrótów przez Windows Shell: podczas ładowania ikony skrótu (.LNK/.PIF) system może załadować i wykonać bibliotekę DLL wskazaną w polu zasobu ikony. Do eksploatacji dochodzi już na etapie renderowania ikon w Explorerze (i innych parserach), co daje RCE z uprawnieniami zalogowanego użytkownika.
Gdzie występuje / przykłady platform
Windows: XP SP3, Server 2003 SP2, Vista SP1/SP2, Server 2008 (w tym R2), Windows 7 — wszystkie dotknięte i ocenione jako Critical w MS10‑046 (serwer Core również podatny w niektórych scenariuszach).
Active Directory / DC: dotyczy, jeśli kontrolery domeny to ww. wersje Windows.
Chmury (AWS/Azure/GCP): Windows VM/WorkSpaces/VDI dziedziczą podatność do czasu aktualizacji.
ESXi/K8s/M365: sama luka dot. Windows; środowiska te są istotne jako źródła logów (Sentinel, Elastic, SIEM) i kontroli USB (MDE Device Control).
Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)
Atakujący tworzy skrót .LNK, którego metadane (np. zasób ikony) wskazują DLL położoną na nośniku wymiennym (USB), udziale UNC/WebDAV lub innym zasobie. Windows Explorer przy renderowaniu ikony odwołuje się do tej ścieżki i ładuje bibliotekę, co w wariancie podatnym daje arbitralne wykonanie kodu — bez interakcji użytkownika i bez uruchamiania celu skrótu. Skuteczność wynika z (1) powszechnego przeglądania folderów poprzez GUI, (2) faktu, że ikony ładowane są automatycznie oraz (3) łatwości wprowadzenia LNK na host (np. USB). Microsoft załatał błąd w MS10‑046/KB2286198, poprawiając walidację referencji do ikon.
Historyczny kontekst:Stuxnet używał CVE‑2010‑2568 do propagacji m.in. przez nośniki, co pozwalało pokonać segmentacje/air‑gap w środowiskach ICS.
Artefakty i logi (co i gdzie obserwować)
Źródło/produkt
Zdarzenie / ID
Co szukać
Uwagi
Sysmon
EID 7 (Image loaded)
Image = *\explorer.exeiImageLoaded wskazuje na ścieżkę z literą dysku (np. E:\*.dll), brak podpisu
EID 7 domyślnie wyłączony; włączyć selektywnie dla explorer.exe.
Sysmon
EID 1 (Process Create)
rundll32.exe lub regsvr32.exe z argumentem do X:\*.dll; rodzic explorer.exe
Częsty łańcuch po wczytaniu złośliwej biblioteki.
Windows Security
4688 (Process Create)
Jak wyżej (jeśli brak Sysmon)
Mniej kontekstu niż Sysmon.
MDE (Defender XDR)
DeviceImageLoadEvents
Ładowanie DLL przez explorer.exe z nie‑systemowych wolumenów
CloudTrail rejestruje API/AWS account activity, nie telemetrykę hosta. Używać CloudWatch Logs dla agentów zdarzeń Win/Sysmon.
K8s audit / M365 ops
—
[brak danych / nie dotyczy]
Luka dotyczy Windows Shell lokalnie.
Detekcja (praktyczne reguły)
Sigma (Sysmon ImageLoad + korelacja)
title: Possible CVE-2010-2568 Exploitation via Explorer DLL Load from Removable
id: 9d1f5c1f-9b0e-4f16-9d6a-ef7a3a2c2568
status: experimental
description: Detects explorer.exe loading an unsigned DLL from a non-system drive (often USB) – pattern linked to CVE-2010-2568 exploitation.
references:
- https://learn.microsoft.com/en-us/security-updates/securitybulletins/2010/ms10-046
- https://attack.mitre.org/techniques/T1091/
logsource:
product: windows
service: sysmon
category: image_load
detection:
selection:
Image|endswith: '\explorer.exe'
ImageLoaded|re: '^[A-Z]:\\.*\.dll$'
unsigned:
Signed: 'false'
condition: selection and unsigned
fields:
- Image
- ImageLoaded
- Signed
- SignatureStatus
- Hashes
level: high
tags:
- attack.t1203
- attack.t1091
Splunk (SPL) – 2 wzorce
A) DLL ładowana przez Explorera z dysku poza systemem:
index=sysmon sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"
EventCode=7 Image="*\\explorer.exe"
| where like(ImageLoaded, "%:\\%.dll")
| stats count min(_time) as first_seen max(_time) as last_seen by host Image ImageLoaded Signed SignatureStatus
B) Próba rundll32 z literą dysku (po USB mount):
index=sysmon EventCode=1 Image="*\\rundll32.exe" ParentImage="*\\explorer.exe"
| where match(CommandLine, "[A-Z]:\\\\.+\\.dll")
| stats values(CommandLine) as cmd by host, ParentImage, Image
KQL (Microsoft Defender XDR / Sentinel)
Korelacja USB → ładowanie DLL przez Explorera (≤5 min):
let usb = DeviceEvents
| where ActionType == "UsbDriveMounted"
| extend DriveLetter = tostring(parse_json(AdditionalFields).DriveLetter)
| project DeviceId, DeviceName, MountTime=Timestamp, DriveLetter;
DeviceImageLoadEvents
| where InitiatingProcessFileName =~ "explorer.exe"
| where FolderPath matches regex @"^[A-Z]:\\.*\.dll$"
| project DeviceId, DeviceName, LoadTime=Timestamp, FolderPath, InitiatingProcessFileName
| join kind=innerunique (usb) on DeviceId
| where LoadTime between (MountTime .. MountTime + 5m)
| order by LoadTime desc
Uwaga: nazwy tabel/kolumn zgodnie z referencją AH; dostępność zależy od wdrożenia MDE.
(Aktywność CloudTrail zostaw do monitoringu API AWS).
Elastic / EQL
Proces z USB (rundll32) po Explorerze:
process where event.category == "process"
and process.name == "rundll32.exe"
and process.parent.name == "explorer.exe"
and process.command_line regex "^[A-Z]:\\\\.*\\.dll"
Ładowanie biblioteki (ECS event.category: "library") przez Explorera:
any where event.category == "library"
and process.name == "explorer.exe"
and dll.path regex "^[A-Z]:\\\\.*\\.dll"
(ECS pola dll.* dla zdarzeń ładowania bibliotek).
Heurystyki / korelacje
USB mount → (≤5 min) → explorer.exe ładuje nienadzorowaną DLL z tej litery → (≤10 s) → rundll32.exe/regsvr32.exe z tą ścieżką.
Brak podpisu / SignatureStatus ≠ Valid dla DLL ładowanych przez Explorera.
Nowe LNK pojawiające się na USB lub udziałach sieciowych; LNK wskazujące na nietypowe lokalizacje (\\server\share, \\?\GLOBALROOT\Device\...).
Zbieżność z politykami Device Control (odmowy/alerty MDE przy USB).
False positives / tuning
Legalne narzędzia portable na USB mogą dynamicznie ładować DLL (wyjątki po hashach/podpisach).
Środowiska dev/test uruchamiające biblioteki z nietypowych ścieżek — odseparuj po OU/Tagach i godzinach pracy.
Rozważ wąskie filtrowanie Sysmon EID 7 (np. tylko Image="*\explorer.exe"), by ograniczyć wolumen.
Playbook reagowania (IR)
Triaging & containment
Odizoluj host w EDR/EDR‑NAC. Zanotuj literę/identyfikator USB.
W MDE sprawdź oś czasu: UsbDriveMounted → DeviceImageLoadEvents/rundll32. (
Zbieranie artefaktów
Zabezpiecz nośnik i kopię folderu z LNK. Oblicz hashe (SHA‑256).
Z Sysmon wyciągnij EID 7/1 i towarzyszące 4688.
Analiza
Sprawdź podpisy DLL, nietypowe eksporty, ścieżki.
Koreluj z innymi hostami (ta sama litera USB, te same LNK).
Remediacja
Wymuś instalację KB2286198 / MS10‑046 (dla systemów historycznych) i aktualizacje.
Włącz/egzekwuj ASR / Device Control dla USB, wyłącz AutoRun/AutoPlay.
Higiena i komunikacja
Blokada podpisu/uruchamiania z USB w GPO/MDE.
Komunikat dla użytkowników nt. bezpiecznego użycia nośników.
Stuxnet (2010–2011): wykorzystanie CVE‑2010‑2568 do propagacji m.in. przez nośniki wymienne (i do eksfiltracji na systemy air‑gapped); Microsoft opisał eksploatację w MS10‑046, a szczegółowy dossier Symanteca dokumentuje oś czasu i wektory.
Lab (bezpieczne testy) — symulacja detekcji, nie exploit
Cel: wygenerować telemetrię, która powinna uruchomić reguły bez realnego wykorzystania luki.
Przygotuj: host testowy z Sysmon (EID 1 i selektywnie EID 7 dla explorer.exe) i MDE.
Włóż czysty pendrive (zapisz jego literę; w MDE powstanie UsbDriveMounted).
Uruchom próbę ładowania DLL z USB (bez powodzenia, ale z logiem):
# Stwórz pusty plik DLL (nie zostanie załadowany poprawnie)
New-Item -Path "E:\test.dll" -ItemType File | Out-Null
# Wywołaj rundll32 ze ścieżką na USB (wygeneruje EID 1 i próbę dostępu)
Start-Process -FilePath "$env:SystemRoot\System32\rundll32.exe" -ArgumentList "E:\test.dll,EntryPoint" -NoNewWindow
Opcjonalnie: skopiuj zwykły skrót .lnk na USB (bez złośliwych właściwości) i obserwuj zapisy plikowe.
Zweryfikuj alerty/reguły: Sigma/Splunk/KQL/Elastic z sekcji 7.
Nie twórz ani nie uruchamiaj spreparowanych LNK z osadzonymi DLL — lab ma charakter wyłącznie defensywny.
M1040 — Behavior Prevention on Endpoint: reguły ASR blokujące uruchamianie z nośników.
M1042 — Disable or Remove Feature or Program: wyłącz Autorun/AutoPlay; ogranicz użycie USB.
Powiązane techniki:
T1203 — Exploitation for Client Execution – Eksploatacja luki w komponencie klienckim (Windows Shell) dla uzyskania wykonania na hoście ofiary. Takt.: Execution; Wersja 1.5 (2025‑10‑24).
T1204.002 — User Execution: Malicious File -Skrót/LNK jako złośliwy plik wywołujący łańcuch wykonania; często po spear‑phishingu lub przez udostępnione zasoby. Takt.: Execution; Wersja 1.6 (2025‑10‑24).
T1091 — Replication Through Removable Media – Dystrybucja przez USB, w tym historyczny przypadek Stuxnet używający CVE‑2010‑2568 do propagacji. Taktyki: Initial Access, Lateral Movement; Wersja 1.3 (2025‑10‑24).
T1547.009 — Shortcut Modification – Nie ta luka, ale pokrewne użycie .LNK dla Persistence (autostart/Startup). Warto monitorować modyfikacje LNK w lokacjach autostartu.
Źródła / dalsza lektura
Microsoft: MS10‑046 — Vulnerability in Windows Shell Could Allow Remote Code Execution (2286198). (Microsoft Learn)
Zbierasz Sysmon EID 1/7 i masz selektory dla explorer.exe?
Masz reguły korelacji USB mount → ImageLoad/ProcessCreate?
Monitorujesz tworzenie/modyfikacje .LNK w autostarcie i na USB?
Utrzymujesz allow‑listy podpisów/ścieżek dla legalnych portable?
CISO (strategiczne):
Potwierdzone wdrożenie MS10‑046 na hostach historycznych / obrazach VM.
Polityki Device Control / ASR: blokada uruchamiania z USB, audyt wyjątków.
Wyłączone Autorun/AutoPlay i egzekwowane szyfrowanie nośników.
Procedury reagowania na incydenty z udziałem nośników wymiennych (izolacja, zabezpieczenie dowodów, komunikacja).
Uwaga końcowa: CVE‑2010‑2568 jest historycznie krytyczna i szeroko udokumentowana. Współczesne systemy Windows mają łatę, ale wektory LNK/USB pozostają popularne (np. jako malicious file w T1204.002). Detekcja zachowania i higiena USB są kluczowe nawet po załataniu luki.
Komendy Windows jako pierwsza linia analizy incydentu
W codziennej pracy analityka bezpieczeństwa (SOC) umiejętność szybkiego korzystania z wbudowanych poleceń Windows bywa bezcenna. Gdy liczy się czas – na przykład podczas triage incydentu lub szybkiego forensics – dostęp do graficznych narzędzi może być ograniczony, a instalacja dodatkowego oprogramowania niemożliwa.
CVE-2025-59287 to krytyczna podatność typu Remote Code Execution w Windows Server Update Services (WSUS). Błąd umożliwia zdalne wykonanie kodu bez uwierzytelnienia na serwerze WSUS, skutkując przejęciem go z uprawnieniami SYSTEM. Rdzeniem problemu jest deserializacja niezaufanych danych (CWE-502). Microsoft sklasyfikował podatność bardzo wysoko i opublikował poprawki w październiku 2025 r.
W skrócie
Komponent: Windows Server Update Services (WSUS).
Typ luki: Deserializacja niezaufanych danych → RCE bez uwierzytelnienia.
Skutki: Pełne przejęcie WSUS (SYSTEM), potencjalna eskalacja w całej domenie.
Status:Aktywnie wykorzystywana w atakach od końca października 2025 r.
Łatki:
14 października 2025 – pierwsza poprawka (Patch Tuesday).
23 października 2025 – out-of-band (pilna) aktualizacja korygująca niepełną łatkę.
Reakcja instytucji: CISA wydała pilny alert i zaleciła natychmiastowe działania naprawcze.
Kontekst / historia / powiązania
WSUS to zaufany, centralny punkt dystrybucji aktualizacji w sieciach firmowych. Kompromitacja WSUS może dać atakującym wygodny punkt wejścia i lateralnego ruchu oraz wpływ na łańcuch aktualizacji stacji roboczych i serwerów. Po publikacji PoC i szybkiej eskalacji skanowań Microsoft musiał wydać poprawkę out-of-band, a społeczność bezpieczeństwa (m.in. Unit 42, Darktrace) zaczęła raportować realne nadużycia.
Analiza techniczna / szczegóły luki
Mechanizm: Deserializacja niezaufanych danych w komponencie WSUS prowadzi do zdalnego wykonania kodu. CVSS v3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (krytyczna zdalna podatność bez interakcji).
Powierzchnia ataku: Serwery WSUS z rolą włączoną i dostępne w sieci (szczególnie wystawione na Internet). Atak odbywa się całkowicie zdalnie, bez poświadczeń.
Trwałość problemu: Pierwotna łatka z 14.10 była niewystarczająca; dopiero poprawka OOB z 23.10 zamknęła wektor ataku.
Obserwacje poincydentalne: Raporty telemetryczne wskazują na spójną metodykę: szybkie wykorzystanie błędu do uzyskania SYSTEM na WSUS, rozpoznanie sieci i przygotowanie do dalszego nadużycia zaufania do kanału aktualizacji.
Praktyczne konsekwencje / ryzyko
Zagrożenie łańcucha aktualizacji: przejęty WSUS może dystrybuować złośliwe pakiety/konfiguracje do wielu hostów jednocześnie.
Lateral movement: z uwagi na zaufanie do serwera aktualizacji i jego pozycję w AD/IIS, napastnik może relatywnie łatwo rozszerzyć zasięg kompromitacji.
Zakłócenia operacyjne: możliwe masowe unieruchomienia stacji (A/H wysokie w CVSS).
Rekomendacje operacyjne / co zrobić teraz
Natychmiast zainstaluj poprawki z 23 października 2025 (OOB) na wszystkich wspieranych wersjach Windows Server z rolą WSUS. Zweryfikuj zgodnie z kartą MSRC (CVE-2025-59287).
Inwentaryzacja i ekspozycja: zidentyfikuj wszystkie instancje WSUS; usuń ekspozycję na Internet (reverse proxy/VPN/allow-list).
Tymczasowe zabezpieczenia (jeśli patch niezwłocznie niemożliwy): odłącz WSUS, zablokuj ruch przychodzący do roli WSUS i ogranicz komunikację do zaufanych segmentów. Skorzystaj z zaleceń CISA.
Monitorowanie i detekcja:
Przeglądnij logi IIS/Windows pod kątem nietypowych żądań do endpointów WSUS oraz nietypowych procesów potomnych w3wp.exe.
Szukaj nagłych zmian konfiguracji WSUS, nieautoryzowanych synchronizacji oraz anomalii w ruchu do klientów aktualizacji.
Wdróż reguły EDR/NDR ukierunkowane na tę podatność i aktywność post-exploitation (wytyczne analityczne: Darktrace/Unit 42).
Twardnienie WSUS: wymuszaj TLS, segmentację sieci, minimalne uprawnienia kont serwisowych, kontrolę dostępu na poziomie IIS/Firewall. (Dobre praktyki ogólne; uzupełniająco do patchy).
IR readiness: przygotuj skrypty szybkiej triage (zrzuty zdarzeń, hash’y binariów, baseline usług), plan „rollbacku” konfiguracji WSUS i procedury awaryjnej dystrybucji aktualizacji.
Różnice / porównania z innymi przypadkami
W odróżnieniu od licznych błędów w usługach Windows wymagających uwierzytelnienia lub interakcji, CVE-2025-59287 jest bezużytkownikową, sieciową RCE (AV:N/PR:N/UI:N). To plasuje ją bliżej głośnych klas podatności o natychmiastowym wektorze zdalnym, gdzie czas reakcji ma krytyczne znaczenie.
Podsumowanie / kluczowe wnioski
Błąd w WSUS pozwala na pełne przejęcie serwera bez logowania i szybką dominację nad środowiskiem poprzez kanał aktualizacji.
Patch OOB z 23.10.2025 jest niezbędny – pierwsza poprawka była niewystarczająca.
Luka jest aktywnie wykorzystywana; organy rządowe (CISA) wydały pilne zalecenia.
Poza patchowaniem konieczne są: de-ekspozycja WSUS, wzmożone monitorowanie oraz gotowość IR.
Źródła / bibliografia
Unit 42 (Palo Alto Networks): analiza CVE-2025-59287 i obserwacje z IR. (Unit 42)
Microsoft Security Response Center – karta CVE-2025-59287 (Update Guide). (msrc.microsoft.com)
CISA – pilny alert dot. OOB-łatki dla WSUS (CVE-2025-59287). (cisa.gov)
Microsoft wydał awaryjną poprawkę dla Windows Server Update Services (WSUS), która usuwa krytyczną podatność CVE-2025-59287 (zdalne wykonanie kodu przez deserializację niezaufanych danych). Niestety, pierwszy out-of-band patch KB5070881 spowodował u części maszyn Windows Server 2025 wypisanie z kanału Hotpatch (utrata „hotpatch enrollment”), co tymczasowo uniemożliwia stosowanie poprawek bez restartu. Microsoft wstrzymał dystrybucję tego wydania na hosty z Hotpatch i udostępnił bezpieczną poprawkę KB5070893.
W skrócie
Luka: CVE-2025-59287 (CVSS 9.8), RCE w usługach raportowania WSUS.
Eksploatacja: potwierdzona „in the wild”; CISA dodała do KEV i nakazała pilne łatanie.
Patch OOB #1 (KB5070881): naprawia lukę, ale na części serwerów 2025 wypisuje z Hotpatch.
Ekspozycja w sieci: tysiące publicznie widocznych instancji WSUS na portach 8530/8531; obserwacje skanowań i ataków.
Kontekst / historia / powiązania
Pierwsze informacje o luce pojawiły się 14 października (Patch Tuesday). Po publikacji PoC oraz sygnałach o aktywnej eksploatacji Microsoft wypuścił 23–24 października awaryjne aktualizacje OOB. W krótkim czasie CISA włączyła CVE-2025-59287 do Known Exploited Vulnerabilities i wydała ostrzeżenie z terminem na wdrożenie poprawek w systemach federalnych w USA.
Analiza techniczna / szczegóły luki
CVE-2025-59287 to błąd deserializacji niezaufanych danych w komponentach raportowania WSUS. Umożliwia on niezalogowanemu napastnikowi zdalne wykonanie kodu z uprawnieniami SYSTEM po sieci, jeżeli serwer WSUS jest osiągalny (typowo TCP 8530/8531). NVD klasyfikuje problem jako CWE-502 z wektorem AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
Co poszło nie tak z KB5070881?
Microsoft potwierdził, że niewielka liczba maszyn Windows Server 2025 zapisanych do Hotpatch otrzymała wadliwy update, po czym straciła status hotpatch enrollment. Skutkiem jest brak hotpatchy w listopadzie i grudniu; takie hosty dostaną standardowe „Monthly Cumulative Updates” z restartem i wrócą na „pociąg” Hotpatch dopiero po styczniowym baseline 2026.
Jak to naprawiono?
Następnego dnia Microsoft wydał KB5070893 – aktualizację zabezpieczeń dla WSUS, która nie zrywa Hotpatch. Dodatkowo tymczasowo ukryto szczegóły błędów synchronizacji w konsoli WSUS, by zamknąć wektor ataku.
Praktyczne konsekwencje / ryzyko
Łańcuch ataku: przejęcie WSUS = przejęcie „zaufanego źródła aktualizacji” → możliwość lateral movement/użycia złośliwych pakietów w organizacji. (Wnioski na bazie charakteru roli WSUS i opisu CVE).
Ekspozycja: setki–tysiące instancji z otwartymi portami 8530/8531 obserwowane w skanach; media branżowe odnotowały aktywne nadużycia.
Dostępność usług: serwery dotknięte KB5070881 mogą chwilowo stracić Hotpatch, co wymusza planowane restarty w listopadzie i grudniu.
Rekomendacje operacyjne / co zrobić teraz
Sprawdź, czy host ma Hotpatch i czy zainstalowano KB5070881.
Jeśli TAK (Windows Server 2025 + Hotpatch + KB5070881): zaplanuj standardowe LCU z restartem w listopadzie i grudniu; powrót do Hotpatch nastąpi po styczniowym baseline 2026.
Jeśli NIE (nie wdrożono KB5070881): zainstaluj KB5070893 (Windows Update → Pause → Unpause → Scan). To utrzymuje „pociąg Hotpatch”.
Natychmiast załatataj WSUS pod CVE-2025-59287. Wdrożenie najnowszego OOB jest wymagane zgodnie z zaleceniami CISA.
Zredukuj ekspozycję sieciową:
Ogranicz dostęp do konsoli/endpointów WSUS do adresów admin/netops (IP allow-list, VPN, segmentacja).
Zablokuj publiczny dostęp do TCP 8530/8531 (edge/WAF/NGFW). (Praktyka wywiedziona z charakteru usługi i doniesień o skanach).
Monitoruj wskaźniki nadużycia:
Nietypowe żądania do /ApiRemoting30/WebService.asmx i usług raportowania, anomalie w logach IIS WSUS.
Nagłe zmiany zatwierdzeń aktualizacji, niespodziewane pakiety/delta approvals.
Koreluj z IOC z bieżących alertów branżowych/CISA.
Plan B (awaria usług):
Jeżeli środowisko jest krytyczne i nie możesz szybko wdrożyć poprawki, czasowo odłącz WSUS (przestaw klientów na Windows Update for Business / Intune) do czasu patchowania. (Zalecenie spójne z ostrzeżeniami CISA, by ograniczyć ryzyko eksploatacji).
Różnice / porównania z innymi przypadkami
KB5070881 vs KB5070893: Obie łatają CVE-2025-59287, ale tylko KB5070881 (pierwsze wydanie OOB) mogło wypisać serwer 2025 z Hotpatch. KB5070893 robi to samo bez ubocznych skutków dla Hotpatch.
Zmiana funkcjonalna WSUS: Po załataniu nie są wyświetlane szczegóły błędów synchronizacji – to zamierzona modyfikacja bezpieczeństwa.
Podsumowanie / kluczowe wnioski
Patchuj teraz WSUS przeciwko CVE-2025-59287 – podatność jest aktywnie wykorzystywana.
Jeśli korzystasz z Windows Server 2025 + Hotpatch, unikaj KB5070881; zastosuj KB5070893.
Ogranicz dostęp sieciowy do WSUS i monitoruj logi – przejęcie WSUS = punkt ciężki dla całej organizacji.
Źródła / bibliografia
BleepingComputer: Microsoft: Patch for WSUS flaw disabled Windows Server hotpatching. (BleepingComputer)
Microsoft Support – KB5070881 (OOB) – znane problemy/Hotpatch. (Microsoft Support)
Microsoft Support – KB5070893 – bezpieczna łatka WSUS + ukrycie detali błędów. (Microsoft Support)
CISA – alert dot. OOB aktualizacji i wpis do KEV. (cisa.gov)
NVD – karta CVE-2025-59287 (CVSS/CWE/opis RCE). (NVD)