{"id":"CVE-2022-46181","aliases":["EUVD-2022-7777","GHSA-xv6x-456v-24xh","GO-2022-1208"],"status":"published","title":"Gotify server XSS vulnerability in the application image file upload","description":"Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Versions prior to 2.2.2 contain an XSS vulnerability that allows authenticated users to upload .html files. An attacker could execute client side scripts **if** another user opened a link. The attacker could potentially take over the account of the user that clicked the link. 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. The vulnerability has been fixed in version 2.2.2. As a workaround, you can block access to non image files via a reverse proxy in the `./image` directory.","severity":{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00545,"percentile":0.4599,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2022-12-29T18:36:46Z","modified":"2026-10-28T02:30:21Z","fixes":[{"ecosystem":"Go","package":"github.com/gotify/server","fixed_in":["2.2.2"],"sources":["ghsa","osv"]},{"ecosystem":"Go","package":"github.com/gotify/server/v2","fixed_in":["2.2.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/gotify/server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.2.1"},{"fixed":"2.2.2"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/gotify/server","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.2.2"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/gotify/server","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/gotify/server/v2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.2.2"}]}]}],"products":[{"vendor":"devolutions","product":"server"},{"vendor":"gotify","product":"server"}],"references":[{"url":"https://github.com/gotify/server/security/advisories/GHSA-xv6x-456v-24xh","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/gotify/server/pull/534","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/gotify/server/pull/535","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-46181","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-xv6x-456v-24xh"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/46xxx/CVE-2022-46181.json","tags":["advisory"]},{"url":"https://github.com/gotify/server","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2022-46181","title":"Gotify server XSS vulnerability in the application image file upload","description":"Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Versions prior to 2.2.2 contain an XSS vulnerability that allows authenticated users to upload .html files. An attacker could execute client side scripts **if** another user opened a link. The attacker could potentially take over the account of the user that clicked the link. 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. The vulnerability has been fixed in version 2.2.2. As a workaround, you can block access to non image files via a reverse proxy in the `./image` directory.","status":"published","published":"2022-12-29T18:36:46.603Z","modified":"2025-04-10T18:02:15.686Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:34:31.840191Z"}],"euvd":[{"id":"EUVD-2022-7777","description":"Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Versions prior to 2.2.2 contain an XSS vulnerability that allows authenticated users to upload .html files. An attacker could execute client side scripts **if** another user opened a link. The attacker could potentially take over the account of the user that clicked the link. 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. The vulnerability has been fixed in version 2.2.2. As a workaround, you can block access to non image files via a reverse proxy in the `./image` directory.","status":"published","published":"2022-12-29T18:36:46Z","modified":"2025-04-10T18:02:15Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T20:52:35.819125Z"}],"ghsa":[{"id":"GHSA-xv6x-456v-24xh","title":"gotify/server vulnerable to Cross-site Scripting in the application image file upload","description":"### Impact\n\nThe 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:\n\n```\nhttps://push.example.org/image/[alphanumeric string].html\n```\n\nAn 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.\n\n### Patches\n\nThe vulnerability has been fixed in version 2.2.2.\n\n### Workarounds\n\nYou can block access to non image files via a reverse proxy in the `./image` directory.\n\n### References\n\nhttps://github.com/gotify/server/pull/534\nhttps://github.com/gotify/server/pull/535\n\n---\n\nThanks to rickshang (aka 无在无不在) for discovering and reporting this bug.","status":"published","published":"2022-12-30T00:58:09Z","modified":"2023-01-29T05:05:47Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:36:25.835323Z"}],"nvd":[{"id":"CVE-2022-46181","description":"Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Versions prior to 2.2.2 contain an XSS vulnerability that allows authenticated users to upload .html files. An attacker could execute client side scripts **if** another user opened a link. The attacker could potentially take over the account of the user that clicked the link. 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. The vulnerability has been fixed in version 2.2.2. As a workaround, you can block access to non image files via a reverse proxy in the `./image` directory.","status":"published","published":"2022-12-29T19:15:08.81Z","modified":"2026-06-17T05:11:22.82Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:07:34.758863Z"}],"osv":[{"id":"CVE-2022-46181","title":"Gotify server XSS vulnerability in the application image file upload","description":"Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Versions prior to 2.2.2 contain an XSS vulnerability that allows authenticated users to upload .html files. An attacker could execute client side scripts **if** another user opened a link. The attacker could potentially take over the account of the user that clicked the link. 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. The vulnerability has been fixed in version 2.2.2. As a workaround, you can block access to non image files via a reverse proxy in the `./image` directory.","status":"published","published":"2022-12-29T18:36:46.603Z","modified":"2026-10-28T02:30:21.402293295Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:27.481647Z"},{"id":"GHSA-xv6x-456v-24xh","title":"gotify/server vulnerable to Cross-site Scripting in the application image file upload","description":"### Impact\n\nThe 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:\n\n```\nhttps://push.example.org/image/[alphanumeric string].html\n```\n\nAn 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.\n\n### Patches\n\nThe vulnerability has been fixed in version 2.2.2.\n\n### Workarounds\n\nYou can block access to non image files via a reverse proxy in the `./image` directory.\n\n### References\n\nhttps://github.com/gotify/server/pull/534\nhttps://github.com/gotify/server/pull/535\n\n---\n\nThanks to rickshang (aka 无在无不在) for discovering and reporting this bug.","status":"published","published":"2022-12-30T00:58:09Z","modified":"2024-08-21T16:28:38.862938Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:47:00.604718Z"},{"id":"GO-2022-1208","title":"gotify/server vulnerable to Cross-site Scripting in the application image file upload in github.com/gotify/server","description":"gotify/server vulnerable to Cross-site Scripting in the application image file upload in github.com/gotify/server","status":"published","published":"2024-08-21T16:03:59Z","modified":"2026-03-03T04:52:56.868724Z","updated_at":"2026-11-02T15:47:00.918515Z"}]}}
