PlaySMS w wersji 1.4.5 i wcześniejszych zawiera podatność typu type juggling w komponencie /auth/fn.php, umożliwiającą atakującemu ominięcie mechanizmu uwierzytelniania bez żadnych uprawnień. Ze względu na krytyczny wynik CVSS 9.8 oraz brak wymaganej interakcji użytkownika podatność stanowi poważne zagrożenie dla każdej publicznie dostępnej instancji.
▸ Pokaż oryginał (EN)
A type juggling vulnerability in the component /auth/fn.php of PlaySMS v1.4.5 and earlier allows attackers to bypass authentication.
Podatność wynika z nieprawidłowego porównywania typów danych (type juggling) w logice uwierzytelniania w pliku /auth/fn.php. W języku PHP luźne porównania (==) mogą prowadzić do sytuacji, gdzie różne typy danych (np. liczba całkowita i ciąg znaków) są traktowane jako równe, co pozwala atakującemu spreparować żądanie HTTP omijające weryfikację hasła lub tokenu sesji. Atak możliwy jest zdalnie, bez uwierzytelnienia i bez jakiejkolwiek interakcji po stronie ofiary.
Atakujący może uzyskać nieautoryzowany dostęp do panelu administracyjnego PlaySMS, co prowadzi do pełnego przejęcia kontroli nad aplikacją, jej danymi oraz potencjalnie do dalszego kompromitowania systemu.
Należy zastosować poprawkę dostępną w repozytorium GitHub projektu PlaySMS (commit dd23673a00c052e113c6d44eb629dc355d3c0605). Zaleca się niezwłoczne zaktualizowanie aplikacji do wersji zawierającej wskazaną poprawkę. Dodatkowo należy rozważyć ograniczenie dostępu do interfejsu logowania PlaySMS wyłącznie do zaufanych adresów IP oraz audyt dzienników dostępu w celu wykrycia ewentualnych prób nieautoryzowanego logowania.
PlaySMS w wersji 1.4.5 oraz wszystkich wcześniejszych wersjach.
Dowód koncepcji (PoC) exploit został opublikowany przez użytkownika tonino-25 w serwisie GitHub Gist (https://gist.github.com/tonino-25/d2316094cc751cc7a8e2c1ae6dbecfe9), co zwiększa ryzyko wykorzystania podatności przez nieuprawnione osoby.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HPlaysms
APPPlaysms≤ 1.4.5
Powiązane podatności
PlaySMS — zdalne wykonanie kodu przez brak sanityzacji danych wejściowych (RCE)
playSMS — zdalne wykonanie kodu PHP poprzez panel konfiguracyjny (RCE)
RCE w PlaySMS 1.4 via nagłówek User-Agent i upload pliku
PlaySMS 1.4 allows remote code execution because PHP code in the name of an uploaded .php file is executed. se...
Multiple directory traversal vulnerabilities in playSMS 0.9.3 allow remote attackers to include and execute ar...