CVERadar
CRITICAL · CVSS 4.0 9.4EPSS 0.43% (p38)Threat level 47

CVE-2026-129165: CVE-2026-129165: Tactical RMM 0.17.0 through 1.6.1 contains an arbitrary file read in the /reporting/templa…

Unknown · Tactical RMM · NVD published 2026-11-14 · posted 2026-11-13 · last modified 2026-11-14

CVE-2026-129165 at a glance

CVE-2026-129165 is a critical-severity File Path Control vulnerability in Tactical RMM, with a CVSS 4.0 base score of 9.4. NVD published it on 2026-11-14 and classifies the weakness as CWE-73. FIRST EPSS puts the probability of exploitation activity in the next 30 days at 0.43% (percentile 38.1, scored 2026-11-14). NVD does not list a fixed version, so the vendor advisory is the reference for the fix. Its CVERadar threat level is 47/100.

What it is

Tactical RMM 0.17.0 through 1.6.1 contains an arbitrary file read in the /reporting/templates/preview/ endpoint because WeasyPrint resolves file:// links in user-supplied template_md and embeds the files in the returned PDF. Users with report management permission can read the Django SECRET_KEY, reused as the NATS password, and publish runscript commands to every managed agent.

WeaknessCWE-73 definition
CVSS vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X (source: VulnCheck)
ATT&CK tacticsn/a

No ATT&CK techniques could be mapped or inferred for this CVE yet.

Patches, mitigations and detection

Fixed versions

NVD does not list a fixed version for this CVE. Use the vendor advisory below.

Derived from the NVD CPE configuration (versionEndExcluding / versionEndIncluding). Always confirm with the vendor advisory.

Vendor advisories and patches

No vendor-tagged reference yet; see the full reference list.

Detection Generic guidance

    Response checklist Generic guidance

    1. Inventory: find every instance of the affected product and version (include internet-facing and forgotten ones).
    2. Patch or mitigate per the vendor advisory; if you cannot patch, remove internet exposure or apply the vendor workaround.
    3. Assume compromise if the system was exposed before patching: hunt for the indicators in the advisory and review logs back to the disclosure date.
    4. Rotate credentials and secrets stored on or used by the affected system if compromise cannot be ruled out.

    Sources