Skip to content
Fencer Vulns
critical 9.9

CVE-2019-15954 in the critical feed json

Total.js CMS RCE Vulnerability

published 2019-09-05 7 y ago modified 2026-06-17 4 mo ago also GHSA-v287-9w3v-x5c5 , EUVD-2022-5259

cvss
9.9
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
78.7%
EPSS 78.7% chance of exploitation in 30 days, percentile 99.5%
public exploits
2
Metasploit, Exploit-DB

Summary

An issue was discovered in Total.js CMS 12.0.0. An authenticated user with the widgets privilege can gain achieve Remote Command Execution (RCE) on the remote server by creating a malicious widget with a special tag containing JavaScript code that will be evaluated server side. In the process of evaluating the tag by the back-end, it is possible to escape the sandbox object by using the following payload: <script total>global.process.mainModule.require(child_process).exec(RCE);</script>

Timeline

  1. First public exploit (Metasploit exploit/multi/http/totaljs_cms_widget_exec)
  2. Published

Exploit prediction

78.69% chance of exploitation in the next 30 days, higher than 99.5% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • Metasploit exploit/multi/http/totaljs_cms_widget_exec Total.js CMS 12 Widget JavaScript Code Injection metasploit exploit, excellent rank, 2019-08-30
  • EDB-47531 Total.js CMS 12 - Widget JavaScript Code Injection (Metasploit) remote, 2019-10-22
  • github.com https://github.com/beerpwn/CVE/blob/master/Totaljs_disclosure_report/report_final.pdf referenced PoC, tagged "exploit" by a source, unverified
  • seclists.org https://seclists.org/fulldisclosure/2019/Sep/5 referenced PoC, tagged "exploit" by a source, unverified
  • packetstormsecurity.com http://packetstormsecurity.com/files/154924/Total.js-CMS-12-Widget-JavaScript-Code-Injection.html referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 9.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
NVD 2.0 9.0 AV:N/AC:L/Au:S/C:C/I:C/A:C
GitHub 3.1 9.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
npm total4
1 listed version
no fix listed

Classification

Weakness
  • CWE-862 Missing Authorization
  • CWE-77 Improper Neutralization of Special Elements used in a Command

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.