Piwigo w wersjach przed 14.0.0beta4 zawiera podatność typu reflected XSS w panelu administracyjnym, umożliwiającą wstrzyknięcie złośliwego kodu HTML i JavaScript. Atakujący może przejąć sesję administratora lub wykonać dowolne akcje w jego imieniu poprzez nakłonienie go do kliknięcia spreparowanego łącza.
▸ Pokaż oryginał (EN)
Piwigo is an open source photo gallery application. Prior to version 14.0.0beta4, a reflected cross-site scripting (XSS) vulnerability is in the` /admin.php?page=plugins&tab=new&installstatus=ok&plugin_id=[here]` page. This vulnerability can be exploited by an attacker to inject malicious HTML and JS code into the HTML page, which could then be executed by admin users when they visit the URL with the payload. The vulnerability is caused by the insecure injection of the `plugin_id` value from the URL into the HTML page. An attacker can exploit this vulnerability by crafting a malicious URL that contains a specially crafted `plugin_id` value. When a victim who is logged in as an administrator visits this URL, the malicious code will be injected into the HTML page and executed. This vulnerability can be exploited by any attacker who has access to a malicious URL. However, only users who are logged in as administrators are affected. This is because the vulnerability is only present on the `/admin.php?page=plugins&tab=new&installstatus=ok&plugin_id=[here]` page, which is only accessible to administrators. Version 14.0.0.beta4 contains a patch for this issue.
Podatność wynika z braku odpowiedniej sanityzacji parametru `plugin_id` przekazywanego w adresie URL strony `/admin.php?page=plugins&tab=new&installstatus=ok&plugin_id=[tutaj]`. Wartość tego parametru jest bezpośrednio wstrzykiwana do kodu HTML strony bez odpowiedniego kodowania. Atakujący tworzy spreparowany URL zawierający złośliwy kod JavaScript jako wartość `plugin_id`, a gdy zalogowany administrator odwiedzi ten URL, kod zostaje wykonany w kontekście przeglądarki ofiary. Ponieważ podatna strona jest dostępna wyłącznie dla administratorów, atak skutkuje wyłącznie po nakłonieniu uprzywilejowanego użytkownika do kliknięcia złośliwego łącza (technika social engineering).
Atakujący może wykonać dowolny kod JavaScript w kontekście sesji administratora, co może prowadzić do kradzieży ciasteczek sesji, przejęcia konta administratora lub wykonywania nieautoryzowanych operacji w aplikacji z pełnymi uprawnieniami administratora.
Należy zaktualizować Piwigo do wersji 14.0.0beta4 lub nowszej, która zawiera patch dla tego problemu. Patch dostępny jest w repozytorium GitHub projektu (commit cc99c0f1e967c5f1722a0cce30ff42374a7bbc23).
Piwigo we wszystkich wersjach przed 14.0.0beta4
Pomimo wysokiego wyniku CVSS (9.3 CRITICAL) eksploitacja wymaga interakcji użytkownika (UI:R) — ofiara będąca administratorem musi odwiedzić spreparowany URL. Podatność dotyczy wyłącznie zalogowanych administratorów, ponieważ podatna strona nie jest dostępna dla zwykłych użytkowników.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:NPiwigo
APPPiwigo14.0.0≤ 13.8.0
Powiązane podatności
SQL Injection w Piwigo 13.6.0 via /admin/permalinks.php
SQL Injection w funkcji 'profile' aplikacji Piwigo
SQL Injection w Piwigo – parametr selection w cat_move.php
SQL Injection w Piwigo 11.4.0 przez parametr order[0][dir]
Piwigo 2.9.5 — XSS możliwy do exploitacji przez CSRF w module powiadomień