{ "schema_version": "1.4.0", "id": "GHSA-3244-8mff-w398", "modified": "2023-01-10T22:48:43Z", "published": "2023-01-10T22:48:43Z", "aliases": [], "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", "severity": [], "affected": [ { "package": { "ecosystem": "Go", "name": "github.com/gotify/server" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0" }, { "fixed": "2.2.3" } ] } ], "database_specific": { "last_known_affected_version_range": "<= 2.2.2" } } ], "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" } ], "database_specific": { "cwe_ids": [ "CWE-79" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2023-01-10T22:48:43Z", "nvd_published_at": null } }