Read the docs
TI-2023-16845 Aliases CVE-2023-33977GHSA-2fqm-m4r2-fh98

Stored cross site scripting (XSS) via unrestricted file upload in Kiwi TCMS

Priority HIGH 70CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Cross-site scripting, Code execution
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79 and CWE-434.

Summary

Kiwi TCMS is an open source test management system for both manual and automated testing. Kiwi TCMS allows users to upload attachments to test plans, test cases, etc. Earlier versions of Kiwi TCMS had introduced upload validators in order to prevent potentially dangerous files from being uploaded and Content-Security-Policy definition to prevent cross-site-scripting attacks. The upload validation checks were not 100% robust which left the possibility to circumvent them and upload a potentially dangerous file which allows execution of arbitrary JavaScript in the browser. Additionally we've discovered that Nginx's `proxy_pass` directive will strip some headers negating protections built into Kiwi TCMS when served behind a reverse proxy. This issue has been addressed in version 12.4. Users are advised to upgrade. Users unable to upgrade who are serving Kiwi TCMS behind a reverse proxy should make sure that additional header values are still passed to the client browser. If they aren't redefining them inside the proxy configuration.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.0087 59th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed Kiwi (kiwitcms): 12.4kiwitcms (PyPI): 12.4

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
kiwitcmsKiwibefore 12.412.4Patch availableCNA
—kiwitcms (PyPI)before 12.412.4Patch availableGHSA-2fqm-m4r2-fh98
  • Kiwi Vendorkiwitcms Affected before 12.4 Fixed in 12.4 Patch available CNA
  • kiwitcms (PyPI) Vendor— Affected before 12.4 Fixed in 12.4 Patch available GHSA-2fqm-m4r2-fh98

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:kiwitcms:kiwi_tcms:*:*:*:*:*:*:*:*up to 12.3Vulnerablekiwitcms
  • cpe:2.3:a:kiwitcms:kiwi_tcms:*:*:*:*:*:*:*:* Versions up to 12.3 Vulnerable ·kiwitcms

Remediation

  • Fix · CNA Kiwi (kiwitcms) Fixed in 12.4
  • Fix · GHSA-2fqm-m4r2-fh98 kiwitcms (PyPI) Fixed in 12.4 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-33977
  2. 2026-10-03 Alias added: GHSA-2fqm-m4r2-fh98

References

  • TI-2023-14429 Kiwi TCMS unrestricted file upload vulnerability CVSS 3.1CRITICAL 9.0
  • TI-2023-14444 Kiwi TCMS has command injection vulnerability in changelog.yml CI workflow CVSS 3.1HIGH 8.8
  • TI-2023-18603 Kiwi TCMS's misconfigured HTTP headers allow stored XSS execution with Firefox CVSS 3.1HIGH 8.1
  • TI-2022-03753 Cross-site Scripting (XSS) - Stored in kiwitcms/kiwi CVSS 3.1MEDIUM 5.4
  • TI-2023-14379 Kiwi TCMS may allow user to update email address to unverified one CVSS 3.1MEDIUM 4.3
  • TI-2023-10618 Kiwi TCMS has no protection against brute-force attacks on login page CVSS 3.1CRITICAL 9.8
See all 10 →

Sources