{"id":"CVE-2023-27489","aliases":["EUVD-2023-0835","GHSA-2wcr-87wf-cf9j","PYSEC-2026-1496"],"status":"published","title":"Stored cross site scripting via SVG file upload in Kiwi TCMS","description":"Kiwi TCMS is an open source test management system for both manual and automated testing. Kiwi TCMS accepts SVG files uploaded by users which could potentially contain JavaScript code. If SVG images are viewed directly, i.e. not rendered in an HTML page, this JavaScript code could execute. This vulnerability has been fixed by configuring Kiwi TCMS to serve with the Content-Security-Policy HTTP header which blocks inline JavaScript in all modern browsers. This configuration change is provided in version 12.1 and users are advised to upgrade. Users unable to upgrade may set their Content-Security-Policy HTTP header manually.","severity":{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00485,"percentile":0.42022,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2023-03-29T18:30:18Z","modified":"2026-10-28T02:30:47Z","fixes":[{"ecosystem":"PyPI","package":"kiwitcms","fixed_in":["12.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"kiwitcms","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"kiwitcms","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.1"}]}],"versions":["10.0","10.1","10.2","10.3","10.3.999","10.4","10.5","11.0","11.1","11.3","11.4","11.5","11.6","11.7","12.0","6.10","6.11","6.2.1","6.3","6.4","6.5","6.5.3","6.6","6.7","6.8","6.9","7.0","7.1","7.2","7.2.1","7.3","8.0","8.1","8.1.99","8.2","8.3","8.4","8.5","8.6","8.6.1","8.7","8.8","8.9","9.0","9.999"]},{"source":"osv","ecosystem":"PyPI","package":"kiwitcms","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.1"}]}],"versions":["10.0","10.1","10.2","10.3","10.3.999","10.4","10.5","11.0","11.1","11.3","11.4","11.5","11.6","11.7","12.0","6.10","6.11","6.2.1","6.3","6.4","6.5","6.5.3","6.6","6.7","6.8","6.9","7.0","7.1","7.2","7.2.1","7.3","8.0","8.1","8.1.99","8.2","8.3","8.4","8.5","8.6","8.6.1","8.7","8.8","8.9","9.0","9.999"]}],"products":[{"vendor":"kiwitcms","product":"kiwi"},{"vendor":"kiwitcms","product":"kiwi_tcms"},{"vendor":"wpkube","product":"kiwi"}],"references":[{"url":"https://github.com/kiwitcms/Kiwi/security/advisories/GHSA-2wcr-87wf-cf9j","tags":["x_refsource_CONFIRM","x_transferred","Patch","Vendor Advisory","advisory","web"]},{"url":"https://github.com/kiwitcms/Kiwi/commit/6617cee0fb70cc394b7be6bbc86ef84e6e9de077","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-27489","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-2wcr-87wf-cf9j","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/27xxx/CVE-2023-27489.json","tags":["advisory"]},{"url":"https://github.com/kiwitcms/Kiwi","tags":["package"]},{"url":"https://pypi.org/project/kiwitcms","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2023-27489","title":"Stored cross site scripting via SVG file upload in Kiwi TCMS","description":"Kiwi TCMS is an open source test management system for both manual and automated testing. Kiwi TCMS accepts SVG files uploaded by users which could potentially contain JavaScript code. If SVG images are viewed directly, i.e. not rendered in an HTML page, this JavaScript code could execute. This vulnerability has been fixed by configuring Kiwi TCMS to serve with the Content-Security-Policy HTTP header which blocks inline JavaScript in all modern browsers. This configuration change is provided in version 12.1 and users are advised to upgrade. Users unable to upgrade may set their Content-Security-Policy HTTP header manually.","status":"published","published":"2023-03-29T18:30:18.232Z","modified":"2025-02-12T16:01:30.677Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:35:26.63732Z"}],"euvd":[{"id":"EUVD-2023-0835","description":"Kiwi TCMS is an open source test management system for both manual and automated testing. Kiwi TCMS accepts SVG files uploaded by users which could potentially contain JavaScript code. If SVG images are viewed directly, i.e. not rendered in an HTML page, this JavaScript code could execute. This vulnerability has been fixed by configuring Kiwi TCMS to serve with the Content-Security-Policy HTTP header which blocks inline JavaScript in all modern browsers. This configuration change is provided in version 12.1 and users are advised to upgrade. Users unable to upgrade may set their Content-Security-Policy HTTP header manually.","status":"published","published":"2023-03-29T18:30:18Z","modified":"2025-02-12T16:01:30Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"updated_at":"2026-11-03T00:03:58.326443Z"}],"ghsa":[{"id":"GHSA-2wcr-87wf-cf9j","title":"Kiwi TCMS Stored Cross-site Scripting via SVG file","description":"### Impact\nKiwi TCMS accepts SVG files uploaded by users which could potentially contain JavaScript code. If SVG images are viewed directly, i.e. not rendered in an HTML page, this JavaScript code could execute. \n\n### Patches\nThis vulnerability has been fixed by configuring Kiwi TCMS to serve with the Content-Security-Policy HTTP header which blocks inline JavaScript in all modern browsers.\n\n### Workarounds\nConfigure Content-Security-Policy header, see [commit 6617cee0](https://github.com/kiwitcms/Kiwi/commit/6617cee0fb70cc394b7be6bbc86ef84e6e9de077).\n\n### References\nYou can visit https://digi.ninja/blog/svg_xss.php for more technical details.\n\nIndependently disclosed by [Antonio Spataro](https://huntr.dev/bounties/bf99001b-a0a2-4f7d-98cd-983bc7f14a69/) and [@1d8](https://huntr.dev/bounties/f8c73bcc-02f3-4c65-a92b-1caa4d67c2fd/).","status":"published","published":"2023-03-30T20:18:29Z","modified":"2023-04-06T17:15:22Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:36:49.768564Z"}],"nvd":[{"id":"CVE-2023-27489","description":"Kiwi TCMS is an open source test management system for both manual and automated testing. Kiwi TCMS accepts SVG files uploaded by users which could potentially contain JavaScript code. If SVG images are viewed directly, i.e. not rendered in an HTML page, this JavaScript code could execute. This vulnerability has been fixed by configuring Kiwi TCMS to serve with the Content-Security-Policy HTTP header which blocks inline JavaScript in all modern browsers. This configuration change is provided in version 12.1 and users are advised to upgrade. Users unable to upgrade may set their Content-Security-Policy HTTP header manually.","status":"published","published":"2023-03-29T19:15:22.277Z","modified":"2026-06-17T05:45:19.207Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high","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:51.883939Z"}],"osv":[{"id":"CVE-2023-27489","title":"Stored cross site scripting via SVG file upload in Kiwi TCMS","description":"Kiwi TCMS is an open source test management system for both manual and automated testing. Kiwi TCMS accepts SVG files uploaded by users which could potentially contain JavaScript code. If SVG images are viewed directly, i.e. not rendered in an HTML page, this JavaScript code could execute. This vulnerability has been fixed by configuring Kiwi TCMS to serve with the Content-Security-Policy HTTP header which blocks inline JavaScript in all modern browsers. This configuration change is provided in version 12.1 and users are advised to upgrade. Users unable to upgrade may set their Content-Security-Policy HTTP header manually.","status":"published","published":"2023-03-29T18:30:18.232Z","modified":"2026-10-28T02:30:47.220415602Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:31.135751Z"},{"id":"GHSA-2wcr-87wf-cf9j","title":"Kiwi TCMS Stored Cross-site Scripting via SVG file","description":"### Impact\nKiwi TCMS accepts SVG files uploaded by users which could potentially contain JavaScript code. If SVG images are viewed directly, i.e. not rendered in an HTML page, this JavaScript code could execute. \n\n### Patches\nThis vulnerability has been fixed by configuring Kiwi TCMS to serve with the Content-Security-Policy HTTP header which blocks inline JavaScript in all modern browsers.\n\n### Workarounds\nConfigure Content-Security-Policy header, see [commit 6617cee0](https://github.com/kiwitcms/Kiwi/commit/6617cee0fb70cc394b7be6bbc86ef84e6e9de077).\n\n### References\nYou can visit https://digi.ninja/blog/svg_xss.php for more technical details.\n\nIndependently disclosed by [Antonio Spataro](https://huntr.dev/bounties/bf99001b-a0a2-4f7d-98cd-983bc7f14a69/) and [@1d8](https://huntr.dev/bounties/f8c73bcc-02f3-4c65-a92b-1caa4d67c2fd/).","status":"published","published":"2023-03-30T20:18:29Z","modified":"2026-09-10T03:49:52.408877927Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:34.700741Z"},{"id":"PYSEC-2026-1496","title":"Kiwi TCMS Stored Cross-site Scripting via SVG file","description":"### Impact\nKiwi TCMS accepts SVG files uploaded by users which could potentially contain JavaScript code. If SVG images are viewed directly, i.e. not rendered in an HTML page, this JavaScript code could execute. \n\n### Patches\nThis vulnerability has been fixed by configuring Kiwi TCMS to serve with the Content-Security-Policy HTTP header which blocks inline JavaScript in all modern browsers.\n\n### Workarounds\nConfigure Content-Security-Policy header, see [commit 6617cee0](https://github.com/kiwitcms/Kiwi/commit/6617cee0fb70cc394b7be6bbc86ef84e6e9de077).\n\n### References\nYou can visit https://digi.ninja/blog/svg_xss.php for more technical details.\n\nIndependently disclosed by [Antonio Spataro](https://huntr.dev/bounties/bf99001b-a0a2-4f7d-98cd-983bc7f14a69/) and [@1d8](https://huntr.dev/bounties/f8c73bcc-02f3-4c65-a92b-1caa4d67c2fd/).","status":"published","published":"2026-07-07T11:45:17.732551Z","modified":"2026-07-07T17:46:46.777478075Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"updated_at":"2026-11-02T15:52:55.06457Z"}]}}
