Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Krytyczna podatność w OpenVPN
OpenVPN to zbiór narzędzi służący do implementacji technik tworzenia bezpiecznych połączeń punkt-punkt lub strona-strona w sieciach routowanych lub mostkowanych. Tunele OpenVPN powszechnie uznawane są za bezpieczne, a sam projekt za stabilny, jednak warto mieć świadomość, że nawet dojrzałe rozwiązania nie są pozbawione wad.
TLDR:
- Szereg podatności w OpenVPN, w tym jedna oceniona w CVSS jako krytyczna.
- Atakujący mogą sparaliżować atakowany system, doprowadzić do jego awarii i niedostępności.
- Podatności bezpośrednio nie zagrażają integralności danych przechowywanych w zaatakowanych systemach.
Najpoważniejszy problem otrzymał identyfikator CVE-2025-12106 i ocenę 9.1 w CVSS 3.1. To podatność typu heap buffer over-read. Przyczyną jest niewystarczająca walidacja argumentów przy parsowaniu adresów. Brak weryfikacji pola „address family” w funkcjach typu get_addr_generic może doprowadzić do sytuacji, w której dane zostaną potraktowane jako inny typ adresu i spowodują odczyt pamięci poza przydzielonym buforem. W efekcie możliwy jest częściowy wyciek pamięci (wpłynęło to na wysoką ocenę w CVSS). Problem występuje wyłącznie w gałęzi rozwojowej 2.7, a konkretnie od wersji 2.7_alpha1 do 2.7_rc1. Zalecane jest podniesienie wersji do co najmniej 2.7_rc2.
Kolejna luka otrzymał identyfikator CVE-2025-13751 i ocenę 1.3 w CVSS 4.0. Problem występuje w komponencie interactive service agent w OpenVPN w systemie Windows. W określonych sytuacjach usługa zamiast zapisać komunikat o błędzie w logu może zakończyć działanie. W rezultacieudanego ataku wszystkie nawiązane połączenia VPN zostają przerwane, a nawiązywanie nowych połączeń niemożliwe dopóki usługa lub system nie zostaną uruchomione ponownie. Atak to klasyczny lokalny DoS, który mogą przeprowadzić wyłącznie uwierzytelnieni, lokalni użytkownicy. Podatne są wersje od 2.6.0 do 2.6.16 oraz od 2.7_alpha1 do 2.7_rc2. Zalecana jest aktualizacja do co najmniej 2.6.17 w przypadku gałęzi 2.6 oraz 2.7_rc3 w przypadku eksperymentalnej gałęzi 2.7.
Ostatnia wykryta podatność otrzymała identyfikator CVE-2025-13086 oraz ocenę 4.6 w CVSS 4.0. W trakcie uzgadniania trójetapowego (3-way handshake) OpenVPN dokonuje weryfikacji cookie HMAC, aby powiązać stan połączenia z adresu źródłowego klienta i zapobiec atakom polegającym na zaalokowaniu stanu (state exhaustion). Błąd logiczny powoduje odwrócone wywołanie w funkcji memcmp(). W efekcie serwer może przyjąć pakiet handshake pochodzący z innego adresu IP niż ten, który faktycznie zainicjował połączenie (czyli zaakceptować nieprawidłowe cookie). Podatność umożliwia atakującemu ominięcie początkowej warstwy weryfikacji, co może skutkować otwarciem sesji TLS i utworzyć wiele wpisów stanu, które nie odpowiadają rzeczywistym sesjom klienta. Taka sytuacja może zużyć zasoby (pamięć/tablice stanów), a tym samym doprowadzić do ataku DoS. Jak możemy przeczytać w biuletynie bezpieczeństwa na stronie OpenVPN:
In order to trigger the remote denial-of-service attack, an attacker would need a valid client key which can be part of a connection profile, or be able to monitor and manipulate the handshake network traffic itself while it is happening, and alter it in a specific way to then trigger a state exhaustion and cause the server to stop accepting new connections.
At no point is the integrity or confidentiality of data, or encryption/authentication compromised, and there is also no escalation path to do remote execution or privilege escalation. It is purely a denial-of-service vulnerability.
Podatne są wersje od 2.6.0 do 2.6.15 oraz od 2.7_alpha1 do 2.7_rc1.
W sytuacji, kiedy korzystamy z pakietów oferowanych i dystrybuowanych przez dostawcę/opiekuna naszego systemu operacyjnego należy bezpośrednio śledzić biuletyny bezpieczeństwa właściwe dla naszego systemu operacyjnego. Na przykład łatwo możemy dowiedzieć się, że w Debianie udostępniono już poprawione wersje pakietu openvpn.
Ewentualne skutki wykorzystania opisywanych podatności wydają się nie mieć potencjału do osiągania rozmiarów katastrofy, jednak w każdym przypadku bezpieczeństwo należy postrzegać jako element jednej większej całości. Stałe śledzenie biuletynów bezpieczeństwa oraz instalowanie poprawek bezpieczeństwa jest jednym z istotnych czynników wpływających na bezpieczeństwo naszych systemów. Przy okazji szczególnie w przypadku podatności CVE-2025-12106 możemy zaobserwować, że w określonych sytuacjach metryki CVSS potrafią generować oceny odbiegające od indywidualnego subiektywnego odczucia możliwej szkodliwości danej luki.
~pu
