CVE-2026-46512
KrytyczneCVSS 9.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
W Frogman przed wersją 1.6.2, funkcja fm_dialplan_apply akceptowała parametry szablonu (greeting, dest, url, extension, code, file) bez odpowiedniego oczyszczania, co pozwalało użytkownikowi z uprawnieniami PERM_WRITE i parametrem confirm:true na wstrzyknięcie dowolnych dyrektyw Asterisk, takich jak System(), Set(SHELL(...)), Goto lub Macro. Luka została naprawiona w wersji 1.6.2.
Ocena ryzyka
Atakujący z uprawnieniami do zapisu może zdalnie wykonać dowolne polecenia systemowe na serwerze Asterisk, co prowadzi do pełnego przejęcia kontroli nad systemem telefonicznym i potencjalnie całym serwerem.
Rekomendacja
Niezwłocznie zaktualizuj Frogman do wersji 1.6.2 lub nowszej. Ogranicz dostęp do funkcji dialplan tylko do zaufanych użytkowników.
Inne podatności w Frogman
Zobacz wszystkie- CVE-2026-46515Krytyczne
W Frogman przed wersją 1.6.3, użytkownicy z uprawnieniami PERM_READ mogli wywoływać wrażliwe funkcje API, ujawniając tajemnice AMI, PIN-y do połączeń wychodzących, konteksty dialplanu Asterisk, polecenia SSH, ścieżki kopii zapasowych, historię CDR oraz surowe zrzuty AMI z polami SIP (hasła, md5_cred, oauth_secret).
- CVE-2026-46516Średnie
Frogman przed wersją 1.6.6 ma podatność w formaterze Markdown czatu – wstrzykuje nieprzefiltrowane grupy przechwytywania regex jako surowy HTML. Pola sterowane przez użytkownika (np. nazwy rozszerzeń, opisy IVR) mogą przenosić ładunek JavaScript, który wykona się u administratora przeglądającego odpowiedź.
- CVE-2026-46514Średnie
Podatność w Frogman przed wersją 1.6.2 powoduje wyciek haseł i sekretów w postaci jawnego tekstu. Funkcje fm_reset_password i fm_add_extension zwracają dane uwierzytelniające, które są następnie zapisywane w dzienniku audytu (oc_audit_log.detail) w formacie JSON. Każdy użytkownik z uprawnieniami PERM_READ i dostępem do fm_audit_search może odzyskać te przechowywane dane.
- CVE-2026-46513Wysokie
Frogman przed wersją 1.6.2 przechowywał tokeny API jako surowe wartości hex, a uwierzytelnianie nagłówka X-Frogman-Token polegało na porównaniu z przechowywanym surowym ciągiem. Umożliwiało to odczytanie z bazy danych aktywnych tokenów, w tym administracyjnych, i ich ponowne wykorzystanie.
Oryginalny opis (angielski, źródło NVD)
Frogman provides headless PBX control through MCP and HTTP API. Prior to 1.6.2, fm_dialplan_apply accepted template parameters including greeting, dest, url, extension, code, and file, and Tools/DialplanApply.php wrote Dialplan/Templates.php output to extensions_custom.conf while only Dialplan/TemplateBase.php:38-42 sanitized contextName(), allowing a PERM_WRITE caller using confirm:true to inject arbitrary Asterisk directives such as System(), Set(SHELL(...)), Goto, or Macro. This issue is fixed in version 1.6.2.

