Co se stalo
FreeSWITCH je open source software, na kterém běží IP telefonní ústředny, call centra a služby operátorů VoIP. Vyvíjí ho firma SignalWire. Vývojáři 28. října 2026 zveřejnili na GitHubu bezpečnostní upozornění GHSA-mg63-h38w-8p9p ke kritické chybě, která dostala označení CVE-2026-116779. Záznam v databázi NVD přibyl 5. listopadu 2026.
Chyba je v modulu mod_sofia, který obstarává SIP komunikaci. Když server přijme od protistrany textovou SIP zprávu typu MESSAGE (slouží k chatu mezi telefony), může ji odesílatel místo doručení nasměrovat do interního příkazového rozhraní FreeSWITCH. Server pak příkaz provede s oprávněními, pod kterými běží služba FreeSWITCH.
Výrobce v upozornění uvádí, že zneužití chyby už bylo zaznamenáno v praxi. Americká agentura CISA ji 9. listopadu 2026 zařadila do katalogu aktivně zneužívaných zranitelností (KEV) a evropská databáze EUVD agentury ENISA ji vede jako zneužívanou od 9. listopadu 2026. Oprava je ve verzi 1.11.3.
Proč je to nebezpečné
Jde o vložení příkazu (command injection, CWE-77 a CWE-78) v kombinaci s nechráněnou nebezpečnou funkcí (CWE-749). Představte si podatelnu, která má dopisy jen doručovat. Když ale na obálku napíšete správné slovo, úředník dopis nedoručí, ale provede, co v něm stojí. Server zkrátka nerozlišuje mezi „doruč zprávu“ a „proveď příkaz“.
Útok probíhá po síti a stačí, aby server přijal jedinou SIP zprávu. Kde je ověřování zpráv zapnuté (výchozí od verze 1.10.7), potřebuje útočník libovolný účet na daném SIP profilu, například linku, telefon nebo propojení s operátorem (trunk). Instalace, které si ze vzorové konfigurace ponechaly uživatele „default“ bez hesla, nepotřebují ani to.
Podle výrobce může útočník spouštět libovolné příkazy operačního systému s oprávněními procesu FreeSWITCH, získat konfiguraci a přihlašovací údaje a plně ovládat hovory. Pokud je načtený modul mod_lua, což vzorová konfigurace dělá, má k dispozici i druhou cestu přes skripty v jazyce Lua.
Obecně platí, že ovládnutý server může posloužit jako odrazový můstek dál do firemní sítě. Ukradené SIP údaje lze zneužít k drahým hovorům na účet firmy.
- CVSS 9,8 z 10 (verze 3.1): mezinárodní stupnice závažnosti. Hodnocení je uvedené v bezpečnostním upozornění výrobce na GitHubu a jeho zdrojem je GitHub, nikoli NVD. Znamená kritickou chybu zneužitelnou po síti bez jakékoli akce uživatele.
- CISA KEV: seznam americké agentury CISA se zranitelnostmi, které se prokazatelně zneužívají. Federální úřady v USA ji musí vyřešit do 12. listopadu 2026. Zda ji využívají ransomwarové skupiny, CISA zatím neví.
- EPSS 1,3 %: odhad pravděpodobnosti zneužití v příštích 30 dnech. Číslo působí nízko, ale chyba je rizikovější než zhruba 71 % hodnocených zranitelností. Rozhodující je, že zneužívání je už potvrzené.
Koho se to týká
Zasažen je FreeSWITCH ve verzi 1.11.2 a všech starších. Zranitelný je každý SIP profil, který přijímá příchozí zprávy MESSAGE. To je výchozí stav: chat je zapnutý, dokud ho profil výslovně nevypne nastavením enable-chat=false, a vzorová konfigurace conf/vanilla ho nechává zapnutý na profilech internal i external.
Výrobce upozorňuje, že zpřísnění přístupového seznamu pro příchozí komunikaci (inbound ACL) nepomůže, protože zprávy MESSAGE nepokrývá.
FreeSWITCH typicky běží na firemních IP ústřednách, v call centrech, u poskytovatelů VoIP a hostované telefonie, často se SIP portem dostupným z internetu. CISA připomíná, že jde o komponentu, kterou mohou používat i jiné produkty. Pokud máte ústřednu od dodavatele, zeptejte se ho, zda je postavená na FreeSWITCH a jakou verzi obsahuje.
Netýká se to verze 1.11.3 a novějších ani ústředen, které FreeSWITCH vůbec neobsahují.
Jak zjistit, zda jste zasaženi
Všechny příkazy níže jen čtou a nic nemění. Spouštějte je na serveru s FreeSWITCH. Cesta ke konfiguraci se liší podle instalace, často jde o /etc/freeswitch nebo /usr/local/freeswitch/conf. Příkazy prohledají obě.
Verze běžícího FreeSWITCH a nainstalovaných balíčků (Debian/Ubuntu nebo RHEL a příbuzné):
fs_cli -x "version"
dpkg -l | grep -i freeswitch
rpm -qa | grep -i freeswitch
Které SIP profily běží a zda mají chat vypnutý:
fs_cli -x "sofia status"
grep -rn "enable-chat" /etc/freeswitch/sip_profiles/ /usr/local/freeswitch/conf/sip_profiles/ 2>/dev/null
Zda v adresáři uživatelů zůstal ukázkový uživatel „default“:
grep -rln 'id="default"' /etc/freeswitch/directory/ /usr/local/freeswitch/conf/directory/ 2>/dev/null
Pokud máte verzi 1.11.2 nebo nižší a profil nemá enable-chat=false, jste zasaženi.
Jak to opravit
Opravená je verze FreeSWITCH 1.11.3. Výrobce ji v poznámkách k vydání označuje za důležitou, s kritickými bezpečnostními opravami, a důrazně doporučuje aktualizovat co nejdříve. Toto vydání už nepodporuje Debian 11 Bullseye, s čímž počítejte při plánování.
Doporučené pořadí kroků:
- Hned teď: na každém SIP profilu, který nepotřebuje přijímat SIP chat, nastavte
enable-chat=false. Podle výrobce to zastaví zprávu ještě před jejím zpracováním, zároveň ale vypne všechny příchozí chatové zprávy na daném profilu. - Odstraňte všechny uživatele bez hesla a bez a1-hash. Vzorová konfigurace obsahuje dva: „default“ a ukázkový účet Skinny.
- Nastavte
disable_system_api_commands=true. Výrobce to doporučuje, i když to samo o sobě zranitelnou cestu neuzavře. - Zazálohujte konfiguraci a aktualizujte na 1.11.3. Pokud máte ústřednu od dodavatele, vyžádejte si od něj aktualizaci.
- Nový parametr
enable-chat-api-protonezapínejte. Je ve výchozím stavu vypnutý, ve vzorových profilech zakomentovaný a právě to zranitelnou cestu uzavírá. Stejný přepínač přibyl i v modulu mod_verto. - Ověřte verzi a omezte přístup k SIP portům z internetu firewallem jen na známé adresy operátorů a poboček.
Výrobce upozorňuje, že samotné ověřování zpráv (auth-messages) nestačí. Spolu s odstraněním uživatelů bez hesla sníží riziko jen na útok z přihlášeného účtu, cestu ale neuzavře. Skutečnou opravou je až verze 1.11.3.
Co když už jste mohli být napadeni
Protože se chyba aktivně zneužívá, počítejte s tím, že zranitelné servery dostupné z internetu mohly být napadeny. Výrobce zatím nezveřejnil konkrétní indikátory napadení, proto sledujte obecné znaky:
- Logy FreeSWITCH (často
/var/log/freeswitch/freeswitch.log): zprávy MESSAGE z neznámých adres a nečekané API příkazy. - Neznámé procesy spuštěné uživatelem, pod kterým běží FreeSWITCH, nové naplánované úlohy (
cron), neznámé systémové účty a SSH klíče. - Změny v konfiguraci, nečekaně načtené moduly a neznámé soubory v adresářích FreeSWITCH.
- Záznamy hovorů (CDR): hovory na drahá zahraniční či prémiová čísla, noční hovory, nečekaně vysoký účet od operátora.
Po aktualizaci na 1.11.3 server každý pokus odmítne odpovědí 403 a zapíše ho do logu i s adresou odesílatele a požadovaným příkazem. Z logů tak uvidíte, zda vás někdo zkouší.
Útočník mohl získat konfiguraci a hesla, proto změňte hesla SIP účtů, přístupy k operátorům a další údaje uložené na serveru. Pokud najdete stopy napadení, odpojte server od sítě, zachovejte logy a přizvěte odborníka na řešení incidentů.