# CVE-2026-121578: CVE-2026-121578

Status: published. Published: 2026-11-03. Updated: 2026-11-03.

Tactical RMM contains a stored XSS vulnerability caused by improperly validated input or encode output for various fields, enabling HTML/JavaScript to be stored in the tools database, which is then executed in the browsers of users when they view content containing the infected objects, leading to account takeover or code execution.

## Remediation

No remediation reported in collected sources

## Affected products and versions

- Amidaware / Tactical RMM: ≥ 0; ≤ 1.6.2 (affected, custom). Source: CNA: certcc

## Severity and prioritization

- CVSS 3.1: 6.1 (medium); CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N; source: ADP: CISA-ADP

- CISA KEV: No listing in collected sources

- EPSS: Not available

- SSVC: exploitation poc; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: CWE-79

## Exploit evidence

- exploit: https://github.com/Kuri119/Stored-XSS-In-Tactical-RMM-1.5.2/tree/main (ADP: CISA-ADP)

## References

- https://github.com/amidaware/tacticalrmm-web/commit/ba5363ea99cf776511e5c828b6d744e4d0bddd08 (CNA: certcc)

- https://github.com/Kuri119/Stored-XSS-In-Tactical-RMM-1.5.2/tree/main (CNA: certcc)

- https://github.com/Kuri119/Stored-XSS-In-Tactical-RMM-1.5.2/tree/main (ADP: CISA-ADP; exploit)

## Provenance

- CNA: certcc: https://www.cve.org/CVERecord?id=CVE-2026-121578; retrieved 2026-11-03; source updated 2026-11-03

Revision: df3a6d15115a9bacc7980e0fff7f9b614b62e997bc83d138f12a3e2fd72e8505

Canonical: https://y2.dev/cve/CVE-2026-121578

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.