Skip to content
Heist/ feed
Back to feed
Medium

MaxKB: Stored XSS via Unsanitized html_rander Tags in Markdown Rendering

Type: advisorySources: OSV

MaxKB is an open-source AI assistant for enterprise. Versions 2.7.1 and below contain a Stored Cross-Site Scripting (XSS) vulnerability that allows authenticated users to inject arbitrary HTML and JavaScript into the Application prologue (Opening Remarks) field by wrapping malicious payloads in tags. The backend fails to sanitize or encode HTML entities in the prologue field when applications are created or updated via the /admin/api/workspace/{workspace_id}/application endpoint, storing the raw payload directly in the database. The frontend then renders this content using an innerHTML-equivalent mechanism, trusting -wrapped content to be safe, which enables persistent DOM-based Stored XSS execution against any visitor who opens the affected chatbot interface. Exploitation can lead to session hijacking, unauthorized actions performed on behalf of victims (such as deleting workspaces or applications), and sensitive data exposure. This issue has been fixed in version 2.8.0.

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

Source evidence

MaxKB: Stored XSS via Unsanitized html_rander Tags in Markdown Rendering

core-osv · Original source

Published 14 Apr 2026, 01:18 UTC

MaxKB is an open-source AI assistant for enterprise. Versions 2.7.1 and below contain a Stored Cross-Site Scripting (XSS) vulnerability that allows authenticated users to inject arbitrary HTML and JavaScript into the Application prologue (Opening Remarks) field by wrapping malicious payloads in tags. The backend fails to sanitize or encode HTML entities in the prologue field when applications are created or updated via the /admin/api/workspace/{workspace_id}/application endpoint, storing the raw payload directly in the database. The frontend then renders this content using an innerHTML-equivalent mechanism, trusting -wrapped content to be safe, which enables persistent DOM-based Stored XSS execution against any visitor who opens the affected chatbot interface. Exploitation can lead to session hijacking, unauthorized actions performed on behalf of victims (such as deleting workspaces or applications), and sensitive data exposure. This issue has been fixed in version 2.8.0.

osv:CVE-2026-39425
Complete source record
{
  "id": "5f5e11c836df2d60d1f82cbe390753b1dc494a1ee2101b43774b006f96bcfa7c",
  "url": "https://osv.dev/vulnerability/CVE-2026-39425",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "MaxKB: Stored XSS via Unsanitized html_rander Tags in Markdown Rendering",
    "summary": "MaxKB is an open-source AI assistant for enterprise. Versions 2.7.1 and below contain a Stored Cross-Site Scripting (XSS) vulnerability that allows authenticated users to inject arbitrary HTML and JavaScript into the Application prologue (Opening Remarks) field by wrapping malicious payloads in tags. The backend fails to sanitize or encode HTML entities in the prologue field when applications are created or updated via the /admin/api/workspace/{workspace_id}/application endpoint, storing the raw payload directly in the database. The frontend then renders this content using an innerHTML-equivalent mechanism, trusting -wrapped content to be safe, which enables persistent DOM-based Stored XSS execution against any visitor who opens the affected chatbot interface. Exploitation can lead to session hijacking, unauthorized actions performed on behalf of victims (such as deleting workspaces or applications), and sensitive data exposure. This issue has been fixed in version 2.8.0.",
    "evidence": "osv:CVE-2026-39425",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-39425",
      "aliases": [
        "CVE-2026-39425",
        "GHSA-3rq5-pgm7-pvp4"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/1panel-dev/maxkb",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "f0a73da5d9ee22e6374dabd4da1081569659530c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.8.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f0a73da5d9ee22e6374dabd4da1081569659530c"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.8.0"
                  },
                  {
                    "cpe": "cpe:2.3:a:maxkb:maxkb:*:*:*:*:-:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.8.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.7.0",
            "v2.6.1",
            "v2.6.0",
            "v2.5.0",
            "v2.4.0",
            "v2.3.0",
            "v2.2.0",
            "v2.1.0",
            "v2.0.2",
            "v2.0.1",
            "v2.0.0",
            "v1.10.4-lts",
            "v1.10.3-lts",
            "v1.10.2-lts",
            "v1.10.1-lts",
            "v1.10.0-lts",
            "v1.9.0",
            "v1.7.0",
            "v1.6.1",
            "v1.6.0",
            "v1.5.0",
            "v1.4.0",
            "v1.3.0",
            "v1.2.1",
            "v1.2.0",
            "v1.1.3",
            "v1.1.2",
            "v1.1.1",
            "v1.1.0",
            "v1.0.1",
            "v1.0.0",
            "v0.9.1",
            "v0.9.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-39425.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:38.685530901Z",
      "provider": "osv",
      "references": [
        "https://github.com/1Panel-dev/MaxKB/releases/tag/v2.8.0",
        "https://github.com/1Panel-dev/MaxKB/security/advisories/GHSA-3rq5-pgm7-pvp4",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39425.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-39425"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-80"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39425.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-39425",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 506175,
  "published_at": "2026-04-14T01:18:42.895+00:00"
}