Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Gdzie kończy się bezpieczeństwo sieci domowej, a zaczyna dziki zachód? Historia podatności i jej „usuwania”.

Wstęp
W artykule chciałbym podzielić się moimi doświadczeniami związanymi ze zgłoszeniem podatności w routerach dostarczanych przez dostawców Internetu (ISP) oraz procesem jej późniejszego „usuwania”.
Ze względu na niską złożoność ataku oraz konsekwencję jej wykorzystania czuję moralny obowiązek podzielenia się spostrzeżeniami. Celem artykułu jest pokazanie, jak w praktyce wygląda obsługa podatności w urządzeniach, nad którymi użytkownik końcowy ma ograniczoną kontrolę oraz jakie wnioski można z tego wyciągnąć dla bezpieczeństwa własnej sieci domowej.
Początek historii
Historia zaczyna się 26 czerwca 2025 roku, kiedy przestał działać u mnie Internet. W czasie oczekiwania na przywrócenie usługi, z czystej ciekawości postanowiłem przyjrzeć się routerowi dostarczonemu przez operatora.
Podczas analizy okazało się, że urządzenie działa w oparciu o system OpenWRT 19.07.6. Od tego momentu dalsze kroki były już dość naturalne – OpenWRT jest dobrze udokumentowanym systemem, a jego architektura i mechanizmy są powszechnie znane.
Analiza techniczna
OpenWRT udostępnia interfejs API ubus, który w tym przypadku był dostępny przez protokół HTTP. Webowy panel administracyjny producenta nie stanowi odrębnej warstwy serwerowej – w praktyce jest to aplikacja kliencka, która z poziomu przeglądarki użytkownika wywołuje bezpośrednio endpointy API ubus, przekazując tokeny sesyjne i parametry operacji w jawnej postaci.
Ta obserwacja skierowała mnie do próby nadużycia tego interfejsu w sposób, którego producent najwyraźniej nie przewidział. Przeglądając dostępne obiekty i procedury API, szybko okazało się, że jedna z nich umożliwia wykonywanie poleceń na poziomie systemu operacyjnego (procedura exec z obiektu file). W praktyce oznaczało to dostęp do powłoki systemowej i możliwość wykonania pełnego zrzutu systemu plików urządzenia.
Przykładowe wywołanie API ubus:
$cmdPayload = @{
jsonrpc = "2.0"
id = 1
method = "call"
params = @(
$SessionToken,
"file",
"exec",
@{
command = "whoami"
}
)
}
Invoke-RestMethod -Uri https://$RouterIP/ubus -Method Post -Body $cmdPayload -ContentType "application/json"
W tym momencie analiza weszła w kolejny etap. Posiadając kompletny obraz systemu, możliwe stało się spokojne przyjrzenie się rozwiązaniom dodanym przez producenta – w szczególności skryptom i mechanizmom, które nie są częścią standardowej dystrybucji OpenWRT. To właśnie w tych elementach ujawniły się problemy, które w kolejnych krokach doprowadziły do pełnego zdalnego wykonania kodu.
Źródło podatności
Podczas analizy natrafiłem na skrypt powłoki odpowiedzialny za obsługę obiektu ubus kaonsessionhelper, służący do tworzenia sesji ubus po zalogowaniu się do panelu WWW.
Skrypt ten zawierał zaszyte na stałe poświadczenia systemowego użytkownika:
- użytkownik: kaonwebui
- hasło: kaonwebui
- użytkownik posiadał uid i gid 0
- oznacza to, że użytkownik posiada te same uprawnienia co użytkownik root.



Stałe poświadczenia zaszyte w firmware urządzenia umożliwiały utworzenie sesji ubus przy użyciu procedury login obiektu session. Co istotne, proces ten nie wymagał znajomości poświadczeń abonenta ani dostępu do jego panelu administracyjnego. W praktyce dawało to pełny dostęp do API, a w konsekwencji — pełną kontrolę nad urządzeniem.
Interfejs ten dostępny jest za pośrednictwem usługi HTTP (port 80 i 443). Domyślnie usługa ta udostępniana jest wyłącznie w sieci lokalnej (LAN), jednak znane są przypadki, w których użytkownicy wystawiają ją również na interfejs WAN.
Proces zgłoszenia podatności
W związku z powyższym odkryciem:
- 27 czerwca 2025 – podatność została przeze mnie opisana i zgłoszona do CERT Polska.
- 3 lipca 2025 – CERT Polska poprosił o dodatkowe informacje oraz poinformował o rezerwacji numeru CVE.
- Został zarezerwowany identyfikator CVE-2025-7072, a CERT zadeklarował kontakt z producentem oraz operatorami w celu potwierdzenia podatności i skoordynowania publikacji.
Kolejne etapy komunikacji wyglądały następująco:
- 5 sierpnia 2025 – informacja, że producent przygotował poprawki, które mają trafić do kolejnej wersji oprogramowania.
- 26 sierpnia 2025 – poprawki w fazie testów u jednego z operatorów.
- 7 października 2025 – poprawki przekazane kolejnemu operatorowi, również w fazie testów.
- 9 stycznia 2026 – oficjalna publikacja opisu podatności jako CVE-2025-7072.
- 12 stycznia 2026 – podjąłem próbę weryfikacji skuteczności wdrożonych poprawek – wdrożone poprawki uważam za nieskuteczne.
- 12 stycznia 2026 – w związku z powyższymi ustaleniami zgłosiłem do CERT Polska informację o nieskuteczności wdrożonych poprawek oraz o istnieniu dodatkowego wektora dostępu.
Na tym etapie warto podkreślić rolę CERT Polska, który odpowiadał za koordynację procesu obsługi podatności oraz komunikację z producentem i dostawcami Internetu (ISP) za co serdecznie dziękuję.
Weryfikacja poprawek
12 stycznia 2026 roku postanowiłem zweryfikować skuteczność wprowadzonych poprawek.
Analiza wykazała, że:
- zmieniono nazwę użytkownika oraz hasło – jednak nadal były one bardzo proste,
- przeniesiono miejsce przechowywania poświadczeń ze skryptu do plików konfiguracyjnych,
- dodatkowo zidentyfikowałem hasło użytkownika root, które:
- było takie samo w aktualnej wersji oprogramowania oraz przed poprawkami,
- nie zostało zmienione w ramach wydanej poprawki.
W praktyce oznacza to, że podatność nie została usunięta w sposób trwały, a jedynie częściowo zamaskowana. Z tego powodu uznałem poprawkę za nieskuteczną. Informacja o nieskuteczności poprawki została przekazana do CERT Polska.
Wnioski i refleksje
Na tym etapie naturalnie pojawia się pytanie:
W jakim stopniu producenci i operatorzy są w stanie zadbać o bezpieczeństwo urządzeń, które trafiają do milionów użytkowników?
Nie jest to pytanie z tezą. Model biznesowy operatorów, skala wdrożeń, długie cykle testowe oraz zależności pomiędzy producentem a dostawcami usług powodują, że proces reagowania na podatności bywa długi i skomplikowany.
Ostateczną ocenę pozostawiam czytelnikowi.
Kto by pomyślał, że 15 minutowy black-out routera może zaprowadzić do podatności?
Własny router za urządzeniem operatora: wady i zalety
Na podstawie powyższych doświadczeń warto rozważyć architekturę, w której router dostarczony przez operatora pełni jedynie rolę modemu lub urządzenia dostępowego, a właściwą bramą sieciową jest własny, zarządzany przez użytkownika router. Co ważne router powinien pochodzić od renomowanego producenta lub takiego który umożliwia wgranie alternatywnego oprogramowania np. OpenWRT.
Takie podejście ma kilka istotnych zalet:
- Pełna kontrola nad aktualizacjami
Posiadając własny router:
- samodzielnie decydujemy o wersji oprogramowania,
- mamy możliwość szybkiego reagowania na nowe podatności,
- nie jesteśmy uzależnieni od harmonogramów operatora.
- Transparentność konfiguracji
Własny router to:
- brak nieudokumentowanych użytkowników systemowych,
- brak ukrytych usług oraz możliwość wyłączenia mechanizmów zdalnego zarządzania,
- możliwość audytu konfiguracji i usług działających na urządzeniu.
- Separacja odpowiedzialności
Router operatora:
- musi spełniać wymagania masowej infrastruktury,
- często zawiera dodatkowe mechanizmy diagnostyczne lub zarządcze.
Własny router:
- służy wyłącznie użytkownikowi i jego sieci,
- może być skonfigurowany zgodnie z indywidualnym modelem zagrożeń.
- Lepsza segmentacja sieci
Dodatkowa warstwa routingu umożliwia:
- skuteczną separację sieci domowej od infrastruktury operatora,
- możliwość wdrożenie VLAN-ów, firewalli czy VPN-ów,
- ograniczenie skutków ewentualnych podatności w urządzeniu operatora.
Natomiast jak każde rozwiązanie to również ma swoje wady o których warto wspomnieć:
- Podwójny NAT
- problemy z port forwardingiem (trzeba przekierowywać porty na dwóch urządzeniach),
- problemy z niektórymi protokołami VPN (szczególnie IPsec, L2TP),
- mogą pojawić się problemy z dostępem do telewizji dostarczanej przez ISP.
- Większa złożoność konfiguracji
Dwa urządzenia to:
- dwa firewalle,
- dwa NAT-y,
- często dwa DHCP,
- dwa miejsca, gdzie coś może być źle ustawione,
- więcej punktów awarii.
Efekt:
Debugowanie problemów sieciowych jest trudniejsze.
Natomiast możemy przeciwdziałać niektórym wadom w zależności od możliwości:
- Bridge na urządzeniu ISP
- router ISP działa jak modem,
- brak podwójnego NAT-a.
- DMZ na urządzeniu ISP
- cały ruch przychodzący przekierowywany jest na nasze urządzenie,
- nadal NAT, ale mniejsza złożoność konfiguracji.
Podsumowanie
Opisana historia pokazuje, że zaufanie do dostawcy usługi nie zawsze idzie w parze z realną kontrolą nad urządzeniem, które staje się bramą do naszej sieci. Problem polega na tym, że użytkownik końcowy ma bardzo ograniczony wpływ na jego konfigurację, aktualizacje i sposób reagowania na podatności. Skutki takiego modelu stają się szczególnie widoczne, gdy spojrzymy na dane dotyczące podatnych urządzeń obecnych w publicznej przestrzeni Internetu.
Według danych z zoomeye.ai w polskich sieciach nadal widocznych jest około 300 podatnych routerów. Każdy z nich to potencjalny element cudzej infrastruktury – węzeł botnetu, punkt przesiadkowy lub punkt do dalszych ataków. Najczęściej bez wiedzy i świadomości jego właściciela. Przykładem realnej kampanii, która pokazała jak taka infrastruktura może wyglądać w praktyce, jest botnet AyySSHush, opisany przez zespół GreyNoise Labs na początku 2025 roku. W ramach tej operacji cyberprzestępcy wykorzystali luki w oprogramowaniu routerów ASUS do utworzenia ukrytego dostępu SSH w tysiącach urządzeń, a analizy Censys i innych narzędzi wskazały ponad 9 000 faktycznie przejętych routerów na całym świecie.
Własny router, umieszczony za urządzeniem operatora, nie jest gwarancją bezpieczeństwa, ale pozwala odzyskać coś znacznie ważniejszego: kontrolę nad tym, co dzieje się w naszej sieci, a od kontroli zaczyna się świadome bezpieczeństwo.
~Piotr Ługowski

Tylko i wyłącznie swój router, routery od operatorów to totalna masakra, 0 konfiguracji, 0 bezpieczeństwa, byle klientowi yt, fb i netflix działały.
Mając router tylko od dostawcy neta to jednocześnie dostawca neta ma tak na prawdę kontrolę nad naszą siecią, widzą jakie urządzenia się podłączają do wifi, widzą nazwe i hasło do wifi, nawet jak kl zmieni na swoje to i tak mogą je sprawdzić, mogą zmieniać większość ustawień, zdalnie zrestartować czy przywrócić ustawienia fabryczne, generalnie mogą wszystko to co użytkownik, a nie raz jeszcze więcej :) – jestem byłym pracownikiem jednego z dużych ISP :)
Dodatkowo nie raz na routerze od dostawcy są wymuszone jego DNS-y
Przełączając router w tryb bridge operator traci dostęp do większości informacji w systemie, więc najlepiej przełączać go w bridge lub jeśli dany operator to oferuje to samo ONT (jeśli mówimy o światłowodzie oczywiście)
A już nie mówiąc, że niektórzy operatorzy np T-mobile tak ograniczają routery, że samemu nawet nie da się oddzielić 2.5 i 5 GHz – trzeba z tym dzwonić na infolinię
Dostawcy neta potrafią mieć też różne wpadki, u mnie np router dostawcy kiedyś sam przywrócił ustawienia fabryczne (no albo zdalnie ktoś mu pomógł, tego już nie sprawdzę :D ) albo sama aktywowała się sieć WIFI która była wyłączona – zrobiło to się samo po aktualizacji sprzętu
A pomijając bezpieczeństwo – routery od operatora nie raz są bardzo słabe, inwestując w prywatny router z wyższej półki można przy okazji poprawić wydajność i stabilność sieci. Nie mówiąc już o zasięgu wifi który zazwyczaj jest kiepski w routerach operatora, wiadomo są wyjątki, ale zazwyczaj to dramat
Piotrze, to „samoczynne włączanie się WiFi” było w Liberty Global (marka UPC)? Jeżeli tak: celowe działanie. Mieli usługę, w której oferowali dostęp do internetu poprzez routery innych klientów (Wi-Free). Usługę tę każdy miał wykupioną domyślnie i trzeba było z niej zrezygnować, dzwoniąc na infolinię. Wtedy modem przestawał automatycznie resetować ustawienia i przywracać WiFi.
Z ich punktu widzenia oni „tylko naprawiali” usługę, którą „złośliwie uszkadzałeś” wyłączając WiFi. :P Mnie przy okazji prób dogrzebania się do dna poinformowano, że celowe i powtarzające się wyłączanie WiFi „może być potraktowane” jako zakłócanie pracy system komputerowego, za co grozi odpowiedzialność karna.
To powinno być dla nas dodatkowym przypomnieniem. To plastikowe pudełko od ISP jest ich wyłączną własnością i częścią ich wewnętrznej infrastruktury. „Konfiguracja” to jest forma „uprzejmości” z ich strony. Uprzejmości, która u wielu konsumentów zaciera granicę i wynikającą z niej świadomość swojej pozycji.
Akurat to mi się w Netii przytrafiło :/
Ale UPC też miałem, i tą usługę wifi-free miałem całkowicie wyłączoną. Generalnie paru operatorów już przerobiłem i nic tylko prywatny router, już pomijając bezpieczeństwo, stabilność, kontrolę itd to taka prosta sprawa, jakaś awaria od operatora trzeba przywrócić ustawienia fabryczne na routerze operatora, albo wymienić router bo internet szwankuje, jak mamy tylko router od operatora to czeka nas konfiguracja wszystkiego od 0, a tak to wrzucasz tryb bridge na routerze od operatora, wpinasz swój router i działa
Rurki miedziane na antenki, albo całe urządzenie do puszki – i niech sobie włączają ;-)
Własny router pomaga nieco również na nadmierną ciekawość dostawców. Vectra liczy sobie dopłatę za brak udostępniania ruchu podmiotom trzecim. Czy w takim razie będą również analizować ile abonent ma urządzeń, jakich i jak rozkłada się od nich ruch? Mając podwójny NAT operator może zgadywać i to całkiem skutecznie. Nie ma już jednak pełnych danych na tacy, co czyni je znacznie mniej wartościowymi dla brokerów.
Dobra robota !
Dziękuję w imieniu nieświadomych lamerów ;)
No wiec… Jak raz chciałem od operatora światłowodu router wifi to dowiedziałem się że nie będę miał w ogóle dostępu do zarządzania nim (czyt. Panelu) bo… Uwaga! Mógłbym zakłócać im całą infrastrukturę… Chińskim i badziewnym routerem.
cytuję:
Posiadając własny router:
(…)
mamy możliwość szybkiego reagowania na nowe podatności,
koniec cytatu
Ale bzdura! Nie masz co robić, tylko co dzień to sprawdzasz? Rodzice i dziadkowie też?
Chcesz być bezpieczny, to nie wystawiaj żadnego portu na zewnątrz. To się robi jeden jedyny raz.
Bzdury to Ty wypisujesz.
Można ustawić aktualizacje automatyczne, powiadomienia (np. e-mail), ustawić skrypty.
Wcześnkej zadbać o backup konfiguracji i ew. danych (np. logów).
Można chociażby zapisać się do newslettera producenta, aby informował o aktualizacjach (mail, RSS).
Opcji jest wiele. Jak ma się swój sprzęt to samemu trzeba o niego dbać, ale to nie znaczy, że trzeba wszystko tobić ręcznie.
Jako ciekawostkę dorzucę swoje własne doświadczenia. Minęło już trochę czasu i mogę pomylić drobne detale, więc dla uniknięcia postawienia kogoś w zbyt dobrym lub złym świetle, nie wskażę konkretnych firm. Mowa o jednym z głównych ogólnopolskich ISP, i konsumenckiej marce jednego z największych producentów sprzętu sieciowego. Jako kontekst: zapytania ze skryptów i formularzy szły wtedy na adresy LAN we wszystkich przeglądarkach bez problemu i bez ograniczeń.
Wszystkie formularze do zmiany ustawień mają CSRF. Ok, wymaga bycia zalogowanym, ale ominięcie tego to prosty social engineering. PoC przygotowany, działa (zmiana konfiguracji WiFi). Zgłosiłem do producenta. Zero reakcji. Zgłosiłem do ISP. Odpowiedź generalnie bezsensowna, w stylu „stosujemy najwyższej klasy zabezpieczenia skryptami jawy”. Musiało jednak dotrzeć do właściwego działu, bo po jakimś czasie zobaczyłem poprawkę. Poprawka polegała na tym, że dodali pole z nazwą “csrf” w formularzach. Pole… po prostu jest, bez wartości. Sprawdzają, czy jest obecne w zapytaniu, ale tylko tyle. Ponowne zgłoszenie, ta sama ścieżka. Kolejna poprawka: pole ma losową wartość. Losową, tzn. wylosowali raz i na twardo wpisali. Pozostaje to samo na zawsze we wszystkich modemach. Kolejna poprawka… pole zmienia się, ale to jakiś żart jeśli chodzi o zbiór wartości. Nawet nie siliłem się na analizę kryptologiczną, czy te wartości nie pochodzą przypadkiem ze zwykłego LCG albo nie są np. zamaskowanym czasem zapytania. To był zbiór do przeszukania w ciągu kilku minut nawet na jednym modemorouterze.
Dałem sobie spokój z tematem. Niedługo potem, przy wymuszonej ogólnokrajowej zmianie parametrów łącza, zmienili producenta na Chińskiego Compala i tam już takich cyrków nie było.
Ja od zawsze idę w wariant bridge i własny router – jedyny minus: jeśli jest IPTV to operatorzy pozostawiają je tylko na swoim urządzeniu (jest tylko kabel, bez wifi).
Jest to w pewnym sensie zrozumiałe (nie chcą się tłumaczyć za problemy z odbiorem, które nie muszą być spowodowane ich urządzeniami a routerem klienta) – tym niemniej jest to męczące…
Dlatego operatorzy powinni pozwalać użytkownikom na wykorzystywanie swoich własnych routerów zamiast tych należących do operatorów Internetu, jak jest chociażby w Niemczech. Od dawna stara się o to Free Software Foundation Europe, zob. https://fsfe.org/activities/routers/routers.en.html .
Name and shame – czyżby chodziło o urocze urządzenia KAON wydawane przez Playa do łącz HFC/FTTH, te, które mają bridge w ustawieniach, ale on nie działa? ;)
W opisie CVE jest model i wersja oprogramowania, można sprawdzić na swoim routerze czy to to :)
Vectra ma takie routery