Skip to content
Heist/ feed
Back to feed
Medium

Chartbrew: Stored Cross-Site Scripting (XSS) via File Upload API

Type: advisorySources: OSV

Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. Prior to version 4.8.4, the application allows uploading files (project logos) without validating the file type or content. It trusts the extension provided by the user. These files are saved to the uploads/ directory and served statically. An attacker can upload an HTML file containing malicious JavaScript. Since authentication tokens are likely stored in localStorage (as they are returned in the API body), this XSS can lead to account takeover. This issue has been patched in version 4.8.4.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-27605
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 17:15 UTC · Revision 1

Source evidence

Chartbrew: Stored Cross-Site Scripting (XSS) via File Upload API

core-osv · Original source

Published 6 Mar 2026, 04:08 UTC

Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. Prior to version 4.8.4, the application allows uploading files (project logos) without validating the file type or content. It trusts the extension provided by the user. These files are saved to the uploads/ directory and served statically. An attacker can upload an HTML file containing malicious JavaScript. Since authentication tokens are likely stored in localStorage (as they are returned in the API body), this XSS can lead to account takeover. This issue has been patched in version 4.8.4.

osv:CVE-2026-27605
Complete source record
{
  "id": "e7bdbbec433f6431a820be1dbc5e3540382322bd876ae029653efd9557cf0d73",
  "url": "https://osv.dev/vulnerability/CVE-2026-27605",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Chartbrew: Stored Cross-Site Scripting (XSS) via File Upload API",
    "summary": "Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. Prior to version 4.8.4, the application allows uploading files (project logos) without validating the file type or content. It trusts the extension provided by the user. These files are saved to the uploads/ directory and served statically. An attacker can upload an HTML file containing malicious JavaScript. Since authentication tokens are likely stored in localStorage (as they are returned in the API body), this XSS can lead to account takeover. This issue has been patched in version 4.8.4.",
    "evidence": "osv:CVE-2026-27605",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-27605",
      "aliases": [
        "CVE-2026-27605",
        "GHSA-jf6m-hm53-c364"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/chartbrew/chartbrew",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3c5ac7bb317b314e80680f63dc8ac5a426313623"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "4.8.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "3c5ac7bb317b314e80680f63dc8ac5a426313623"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v4.8.4"
                  },
                  {
                    "cpe": "cpe:2.3:a:depomo:chartbrew:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "4.8.4"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.8.3",
            "v4.8.2",
            "v4.8.1",
            "v4.8.0",
            "v4.7.0",
            "v4.6.0",
            "v4.5.0",
            "v4.4.0",
            "v4.3.0",
            "v4.2.1",
            "v4.2.0",
            "v4.1.0",
            "v4.0.1",
            "v4.0.0",
            "v3.13.0",
            "v3.12.0",
            "v3.11.1",
            "v3.11.0",
            "v3.10.0",
            "v3.9.0",
            "v3.8.2",
            "v3.8.1",
            "v3.8.0",
            "v3.7.0",
            "v3.6.0",
            "v3.5.2",
            "v3.5.1",
            "v3.5.0",
            "v3.3.0",
            "v3.2.1",
            "v3.2.0",
            "v3.1.1",
            "v3.1.0",
            "v3.0.0",
            "v3.0.0-beta.3",
            "v3.0.0-beta.2",
            "v3.0.0-beta.1",
            "v2.8.0",
            "v2.7.0",
            "v2.6.2",
            "v2.6.1",
            "v2.6.0",
            "v2.5.1",
            "v2.5.0",
            "v2.4.0",
            "v2.3.0",
            "v2.2.0",
            "v2.1.0",
            "v2.0.0",
            "v2.0.0-rc.2",
            "v2.0.0-rc.1",
            "v1.21.1",
            "v1.21.0",
            "v1.20.2",
            "v1.20.1",
            "v1.20.0",
            "v1.19.1",
            "v1.19.0",
            "v1.18.1",
            "v1.18.0",
            "v1.17.2",
            "v1.17.1",
            "v1.17.0",
            "v1.16.2",
            "v1.16.1",
            "v1.16.0",
            "v1.15.0",
            "v1.14.2",
            "v1.14.1",
            "v1.14.0",
            "v1.13.0",
            "v1.11.1",
            "v1.11.0",
            "v1.10.0",
            "v1.9.3",
            "v1.9.2",
            "v1.9.1",
            "v1.9.0",
            "v1.8.1",
            "v1.8.0",
            "v1.7.1",
            "v1.7.0",
            "v1.6.2",
            "v1.6.1",
            "v1.6.0",
            "v1.5.3",
            "v1.5.1",
            "v1.5.0",
            "v1.4.0",
            "v1.3.1",
            "v1.3.0",
            "v1.2.0",
            "v1.1.1",
            "v1.1.0",
            "v1.0.0",
            "v1.0.0-beta.13",
            "v1.0.0-beta.11",
            "v1.0.0-beta.10",
            "v1.0.0-beta.9.3",
            "v1.0.0-beta.9.2",
            "v1.0.0-beta.9.1",
            "v1.0.0-beta.9",
            "v1.0.0-beta.8.1",
            "v1.0.0-beta.8",
            "v1.0.0-beta.7",
            "v1.0.0-beta.6",
            "v1.0.0-beta.5.6",
            "v1.0.0-beta.5.5",
            "v1.0.0-beta.5.4",
            "v1.0.0-beta.5.2",
            "v1.0.0-beta.5.1",
            "v1.0.0-beta.5",
            "v1.0.0-beta.4.2",
            "v1.0.0-beta.4.1",
            "v1.0.0-beta.4",
            "v1.0.0-beta.3",
            "v1.0.0-beta.2.3",
            "v1.0.0-beta.2.2",
            "v1.0.0-beta.2.1",
            "v1.0.0-beta.2",
            "v1.0.0-beta.1.1",
            "v1.0.0-beta.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-27605.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.805254235Z",
      "provider": "osv",
      "references": [
        "https://github.com/chartbrew/chartbrew/releases/tag/v4.8.4",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27605.json",
        "https://github.com/chartbrew/chartbrew/security/advisories/GHSA-jf6m-hm53-c364",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-27605"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-434",
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27605.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-27605",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 505224,
  "published_at": "2026-03-06T04:08:01.53+00:00"
}