{"id":"GHSA-3244-8mff-w398","aliases":["GO-2023-1471"],"url":"https://o3.security/vulnerability/GHSA-3244-8mff-w398","summary":"Reflected XSS in Gotify's /docs via import of outdated Swagger UI","details":"### Impact\n\nGotify exposes an outdated instance of the [Swagger UI](https://swagger.io/tools/swagger-ui/) API documentation frontend at `/docs` which is susceptible to reflected XSS attacks when loading external Swagger config files.\n\nSpecifically, the DOMPurify version included with this version of Swagger UI is vulnerable to a [rendering XSS](https://www.vidocsecurity.com/blog/hacking-swagger-ui-from-xss-to-account-takeovers/) incorporating the mutation payload detailed in [CVE-2020-26870](https://research.securitum.com/mutation-xss-via-mathml-mutation-dompurify-2-0-17-bypass/) which was patched in 2021. This is further tracked in the GitHub Advisory Database as GHSA-QRMM-W75W-3WPX.\n\nAn attacker can execute arbitrary JavaScript and 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.\n\n### Patches\n\nThe vulnerability has been fixed in version 2.2.3.\n\n### References\n\nhttps://github.com/gotify/server/pull/541","published":"2023-01-10T22:48:43Z","modified":"2024-08-20T20:59:06.646301Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Go","name":"github.com/gotify/server","fixedVersion":"2.2.3"}],"fix":{"url":"https://github.com/gotify/server/pull/541","label":"gotify/server#541"},"references":[{"type":"WEB","url":"https://github.com/gotify/server/security/advisories/GHSA-3244-8mff-w398"},{"type":"WEB","url":"https://github.com/gotify/server/pull/541"},{"type":"PACKAGE","url":"https://github.com/gotify/server"},{"type":"WEB","url":"https://research.securitum.com/mutation-xss-via-mathml-mutation-dompurify-2-0-17-bypass"},{"type":"WEB","url":"https://www.vidocsecurity.com/blog/hacking-swagger-ui-from-xss-to-account-takeovers"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2024-08-20T20:59:06.646301Z"}}