W aplikacji Piwigo 2.9.5 strona administracyjna obsługująca powiadomienia e-mail (admin.php?page=notification_by_mail) zawiera podatność XSS w wielu parametrach formularza. Podatność jest szczególnie groźna, ponieważ może być wyzwolona zdalnie przez atakującego bez uwierzytelnienia — poprzez mechanizm CSRF.
▸ Pokaż oryginał (EN)
admin.php?page=notification_by_mail in Piwigo 2.9.5 has XSS via the nbm_send_html_mail, nbm_send_mail_as, nbm_send_detailed_content, nbm_complementary_mail_content, nbm_send_recent_post_dates, or param_submit parameter. This is exploitable via CSRF.
Atakujący może wstrzyknąć złośliwy kod JavaScript do jednego z podatnych parametrów: nbm_send_html_mail, nbm_send_mail_as, nbm_send_detailed_content, nbm_complementary_mail_content, nbm_send_recent_post_dates lub param_submit. Podatność XSS jest exploitowalna przez CSRF, co oznacza, że atakujący może nakłonić zalogowanego administratora do odwiedzenia spreparowanej strony, która automatycznie prześle żądanie z wstrzykniętym payloadem. W efekcie złośliwy skrypt zostanie wykonany w kontekście przeglądarki ofiary z uprawnieniami zalogowanego administratora.
Atakujący może przejąć sesję administratora, wykonywać działania w jego imieniu, modyfikować zawartość serwisu lub wykradać poufne dane przechowywane w przeglądarce ofiary. Połączenie XSS i CSRF umożliwia przeprowadzenie ataku bez jakiejkolwiek interakcji ofiary poza odwiedzeniem złośliwej strony.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zalecane jest również wdrożenie mechanizmów ochrony przed CSRF (tokeny anty-CSRF) po stronie serwera oraz stosowanie nagłówków bezpieczeństwa Content-Security-Policy w konfiguracji serwera WWW.
Piwigo w wersji 2.9.5
Szczegółowy opis exploita został opublikowany na PacketStorm Security oraz w serwisie Full Disclosure (wrzesień 2019). Podatność obejmuje jednocześnie XSS (CWE-79) i CSRF (CWE-352), co podnosi jej rzeczywiste ryzyko pomimo braku wpisu w CISA KEV.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:HPiwigo
APPPiwigo2.9.5
Powiązane podatności
Reflected XSS w panelu administratora Piwigo (plugin_id)
SQL Injection w funkcji 'profile' aplikacji Piwigo
SQL Injection w Piwigo 13.6.0 via /admin/permalinks.php
SQL Injection w Piwigo – parametr selection w cat_move.php
SQL Injection w Piwigo 11.4.0 przez parametr order[0][dir]