CVE-2026-46516
ŚrednieCVSS 4.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
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ź.
Ocena ryzyka
Atakujący może wykonać dowolny JavaScript w sesji administratora FreePBX, co umożliwia przejęcie kontroli nad systemem telefonicznym.
Rekomendacja
Zaktualizuj Frogman do wersji 1.6.6. Ogranicz dostęp do panelu administracyjnego FreePBX.
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-46512Krytyczne
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.
- 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 FreePBX control. Prior to version 1.6.6, Frogman's chat-console markdown formatter (`assets/js/chat.js`'s `formatMarkdown`) inserted regex capture groups as raw HTML in four template patterns: inline code, bold, markdown links, and download links. Tool responses that reflect user-controlled fields — extension names, ring-group descriptions, IVR names, queue descriptions, etc. — could carry an HTML/JavaScript payload that executes when another admin views the response through Frogman chat. The payload runs in the viewer's session, with the viewer's permissions. FreePBX's own admin GUI escapes these same fields via `freepbx_htmlspecialchars()` throughout its view templates. The chat formatter was the leaky side. Version 1.6.6 patches the issue.

