CRITICAL🇬🇧 English

CVE-2026-49840

FreeSWITCH libesl: heap buffer overflow przez ujemny Content-Length w ESL

CVSS 9.1v3.1pub. 2026-06-09upd. 2026-06-10

W bibliotece libesl projektu FreeSWITCH funkcja esl_recv_event() nie weryfikuje wartości Content-Length przed przekazaniem jej do malloc(), co umożliwia zdalne uszkodzenie sterty lub awarię procesu. Podatność jest krytyczna, ponieważ może być wyzyskana przed uwierzytelnieniem przez dowolnego złośliwego lub pośredniczącego peera ESL.

Pokaż oryginał (EN)

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.1, esl_recv_event() parses Content-Length with atol() and passes the result straight to malloc(len + 1) with no sign or magnitude check. A malicious or man-in-the-middle ESL peer can send a frame with a negative Content-Length to corrupt the heap of, or crash, any process linked against libesl, before the client has authenticated to that peer. This issue has been patched in version 1.11.1.

🤖 Analiza AI
Jak działa

Funkcja esl_recv_event() odczytuje wartość nagłówka Content-Length przy użyciu atol(), która może zwrócić liczbę ujemną. Wynik jest bezpośrednio przekazywany do malloc(len + 1) bez żadnej weryfikacji znaku ani wielkości wartości. Złośliwy peer ESL lub atakujący realizujący atak man-in-the-middle może wysłać ramkę z ujemnym Content-Length, co prowadzi do nieprawidłowej alokacji pamięci (heap buffer overflow) i w konsekwencji do uszkodzenia sterty lub natychmiastowej awarii procesu korzystającego z libesl.

Skutki

Atakujący może zdalnie spowodować awarię (crash) dowolnego procesu linkowanego z biblioteką libesl lub uszkodzić pamięć sterty, potencjalnie otwierając drogę do dalszego naruszenia integralności lub dostępności systemu. Atak możliwy jest przed uwierzytelnieniem klienta wobec peera.

Mitygacja

Należy zaktualizować FreeSWITCH do wersji 1.11.1, w której problem został naprawiony. Patch dostępny jest w oficjalnym repozytorium: https://github.com/signalwire/freeswitch/releases/tag/v1.11.1

Kogo dotyczy

FreeSWITCH w wersjach wcześniejszych niż 1.11.1 — wszystkie procesy i aplikacje linkowane z biblioteką libesl.

Uwagi

Podatność dotyczy również scenariusza ataku man-in-the-middle na poziomie protokołu ESL — należy rozważyć segmentację sieci i ograniczenie dostępu do interfejsu ESL wyłącznie do zaufanych hostów jako dodatkową warstwę ochrony do czasu wdrożenia patcha.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
  • Freeswitch

    APP
    Freeswitch
    < 1.11.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-49841CRITICAL9.8PL ✓ten sam produkt

FreeSWITCH mod_verto: heap buffer overflow przed autoryzacją HTTP

CVE-2019-19492CRITICAL9.8ten sam produkt

FreeSWITCH 1.6.10 through 1.10.1 has a default password in event_socket.conf.xml.

CVE-2026-49475HIGH7.5ten sam produkt

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom sw...

CVE-2026-45771HIGH7.5ten sam produkt

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom sw...

CVE-2026-49842HIGH7.5ten sam produkt

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom sw...