totaljs/cms · Security
Total.js CMS RCE Vulnerability
- GHSA ID
- GHSA-v287-9w3v-x5c5
- CVE ID
- CVE-2019-15954
- Severity
- critical
- Published
- Updated
- CVSS
- 9.9 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- CVSS v3
- 9.9 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Description
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>
CWEs
- CWE-77 · Improper Neutralization of Special Elements used in a Command ('Command Injection')
- CWE-862 · Missing Authorization
References
- https://nvd.nist.gov/vuln/detail/CVE-2019-15954 ↗
- https://github.com/beerpwn/CVE/blob/master/Totaljs_disclosure_report/report_final.pdf ↗
- https://seclists.org/fulldisclosure/2019/Sep/5 ↗
- http://packetstormsecurity.com/files/154924/Total.js-CMS-12-Widget-JavaScript-Code-Injection.html ↗
- https://github.com/advisories/GHSA-v287-9w3v-x5c5 ↗