gotify/server vulnerable to Cross-site Scripting in the application image file upload
Date: 2022-12
Affected: go/github.com/gotify/server
Attack vector: xss
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2022-46181
CWE: CWE-79
CVSS: 4.6 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N)

### Impact The XSS vulnerability allows authenticated users to upload .html files. With that, an attacker could execute client side scripts **if** another user opened a link, such as: ``` https://push.example.org/image/[alphanumeric string].html ``` An attacker could potentially take over the account of the user that clicked the link. Keep in mind, the Gotify UI won't natively expose such a malicious link, so an attacker has to get the user to open the malicious link in a context outside of Gotify. ### Patches The vulnerability has been fixed in version 2.2.2. ### Workarounds You can block access to non image files via a reverse proxy in the `./image` directory. ### References https://github.com/gotify/server/pull/534 https://github.com/gotify/server/pull/535 --- Thanks to rickshang (aka 无在无不在) for discovering and reporting this bug.


Mitigations:

Architectural layers (MAESTRO):