CVE-2020-12827
JavaScript vulnerability analysis and mitigation

Overview

MJML (Mailjet Markup Language) versions prior to 4.6.3 contain a path traversal vulnerability when processing the mj-include directive within an MJML document. The vulnerability was discovered on April 28, 2020, and publicly disclosed on June 14, 2020. This security issue affects all versions of MJML up to and including version 4.6.2 (Full Disclosure, CISA Bulletin).

Technical details

The vulnerability exists in the mj-include component, which allows external MJML files to be included into email templates using its 'path' attribute. The application fails to properly validate the value supplied to the 'path' argument, enabling directory traversal attacks. The vulnerability has been assigned a CVSSv3 score of 7.2 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:L) indicating a high severity issue (Full Disclosure).

Impact

The vulnerability can be exploited to leak sensitive information about the server such as local server paths and contents of compressed/binary files, or cause denial of service conditions. Specifically, attackers can leak local server paths by pointing to non-existent MJML files, enumerate local server files using a true/false approach, partially read local binary server files, and cause denial of service by reading system files like /dev/urandom (Full Disclosure).

Exploitability

The vulnerability can be exploited by both unauthenticated and authenticated attackers, depending on how MJML is embedded in the application. The attack requires no special conditions or user interaction to be successful (Full Disclosure).

Mitigation and workarounds

The vulnerability was addressed in MJML version 4.6.3 by introducing the 'ignoreIncludes' directive, which is set to false by default. Users should update to version 4.6.3 or later and ensure the 'ignoreIncludes' setting remains disabled (GitHub Commit, GitHub Release).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77415CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-77414CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-77413CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-63421HIGH7.5
  • JavaScript logoJavaScript
  • @keystone-6/core
NoYesAug 21, 2026
CVE-2026-53509MEDIUM5.7
  • JavaScript logoJavaScript
  • @aborruso/ckan-mcp-server
NoYesAug 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management