CVE-2026-45771
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
FreeSWITCH przed wersją 1.11.0 zawiera podatność w parserze XML, który rozwijając zagnieżdżone encje <!ENTITY> bez ograniczeń głębokości lub liczby, umożliwia atak "billion laughs". Nieuwierzytelniony atakujący sieciowo może wysłać pojedyncze żądanie SIP PUBLISH z treścią PIDF, która przed weryfikacją sumy kontrolnej powoduje nieograniczone zużycie CPU i pamięci.
Ocena ryzyka
Atakujący może doprowadzić do wyczerpania zasobów serwera FreeSWITCH, powodując odmowę usługi (DoS) bez konieczności uwierzytelnienia, co zagraża dostępności usług telekomunikacyjnych.
Rekomendacja
Należy niezwłocznie zaktualizować FreeSWITCH do wersji 1.11.0 lub nowszej, która zawiera poprawkę ograniczającą rozwijanie encji XML.
Inne podatności w FreeSWITCH
Zobacz wszystkie- CVE-2026-49841Krytyczne
FreeSWITCH przed wersją 1.11.1 zawiera podatność przepełnienia sterty w module mod_verto. Atakujący może wysłać żądanie HTTP POST z dużym ciałem, co prowadzi do przepełnienia bufora przed uwierzytelnieniem.
- CVE-2026-49840Krytyczne
W FreeSWITCH przed wersją 1.11.1 funkcja esl_recv_event() nieprawidłowo obsługuje Content-Length, co pozwala złośliwemu peerowi ESL na wysłanie ramki z ujemną wartością, powodując uszkodzenie sterty lub awarię procesu przed uwierzytelnieniem.
- CVE-2026-9754Średnie
Uwierzytelniony użytkownik z rolą odczytu może odczytać ograniczone ilości niezainicjalizowanej pamięci stosu poprzez specjalnie spreparowane wydania polecenia filemd5.
- CVE-2026-49848Średnie
Podatność w FreeSWITCH przed wersją 1.11.1 w module mod_verto w gałęzi check_auth userauth powoduje, że zmienne użytkownika dostarczone w żądaniu są zapisywane do stanu połączenia przed weryfikacją hasła. Zapisy są tylko dołączane, a połączenie nie jest zamykane po nieudanym porównaniu, więc wartości z nieudanych prób logowania utrzymują się na tym samym WebSocket i są przenoszone do kolejnego udanego logowania.
- CVE-2026-49847Wysokie
Podatność na przepełnienie stosu w FreeSWITCH przed wersją 1.11.1. Pojedyncza ramka WebSocket z głęboko zagnieżdżonym dokumentem JSON powoduje awarię procesu FreeSWITCH, przerywając wszystkie połączenia i sesje na hoście. Atak nie wymaga uwierzytelnienia.
- CVE-2026-49843Średnie
FreeSWITCH przed wersją 1.11.1 zawiera podatność w module mod_verto. Procedura obsługi JSON-RPC wiąże połączenie z sessid dostarczonym przez klienta przed bramą uwierzytelniania. Nieuwierzytelniony atakujący znający UUID docelowej sesji może usunąć prawowitego klienta, wysyłając mu verto.punt i zamykając jego gniazdo.
- CVE-2026-49842Wysokie
Podatność w FreeSWITCH przed wersją 1.11.1. Pętla ramek WebSocket w module mod_verto przechwytuje protokół testowania prędkości z prefiksem # (#SPU / #SPB / #SPE) przed jakimkolwiek sprawdzeniem uwierzytelnienia. Zadeklarowany rozmiar ładunku w #SPU jest parsowany za pomocą atoi() i odrzucane są tylko wartości nie-dodatnie, więc nieuwierzytelniony peer może zażądać do INT_MAX bajtów. Serwer następnie zapisuje około size * 10 bajtów podczas fazy pobierania, co daje około 20 GB na żądanie, co prowadzi do silnej amplifikacji przepustowości wychodzącej z krótkiego żądania.
- CVE-2026-49475Wysokie
FreeSWITCH przed wersją 1.11.0 zawiera lukę w obsłudze pakietów STUN, gdzie zadeklarowana długość atrybutu jest krótsza niż struktura, do której parser rzutuje, co powoduje odczyt i zapis poza granicami atrybutu, prowadząc do dostępu do pamięci poza buforem mediów.
- CVE-2026-49472Średnie
FreeSWITCH przed wersją 1.11.0 zawiera podatną funkcję PREFIX(prologTok)() w pliku libs/xmlrpc-c/lib/expat/xmltok/xmltok_impl.c, która została sklonowana z przestarzałej i podatnej wersji libexpat/libexpat. Funkcja nie otrzymała odpowiedniej łatki bezpieczeństwa. Problem został naprawiony w wersji 1.11.0.
Oryginalny opis (angielski, źródło NVD)
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a software implementation that runs on any commodity hardware. Prior to version 1.11.0, FreeSWITCH's bundled XML parser expands nested <!ENTITY> declarations without a depth or count bound, so a small DTD can describe a body that expands exponentially ("billion laughs"). The PIDF body of a SIP PUBLISH is fed to this parser before any digest check, letting an unauthenticated network attacker force unbounded CPU and memory consumption with a single request. This issue has been patched in version 1.11.0.

