CVE-2025-67898
MJML allows mj-include directory traversal due to an incomplete fix for CVE-2020-12827
MJML through 4.18.0 allows mj-include directory traversal to test file existence and (in the type="css" case) read files. NOTE: this issue exists because of an incomplete fix for CVE-2020-12827.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
4.5
MJML through 4.18.0 allows mj-include directory traversal to test file existence and (in the type="css" case) read files. NOTE: this issue exists because of an incomplete fix for CVE-2020-12827.
- Record
CVE-2025-67898- CVSS 3.1
- 4.5 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L - Weakness
- CWE-36
- Updated
- 2026-11-02
EUVDEUVD-2025-203312
4.5
MJML through 4.18.0 allows mj-include directory traversal to test file existence and (in the type="css" case) read files. NOTE: this issue exists because of an incomplete fix for CVE-2020-12827.
- Record
EUVD-2025-203312- CVSS 3.1
- 4.5 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-45h5-66jx-r2wf
4.5
MJML allows mj-include directory traversal due to an incomplete fix for CVE-2020-12827
MJML before 5.0.0-alpha.9 allows mj-include directory traversal to test file existence and (in the type="css" case) read files. NOTE: this issue exists because of an incomplete fix for CVE-2020-12827.
- Record
GHSA-45h5-66jx-r2wf- CVSS 3.1
- 4.5 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L - Weakness
- CWE-36
- Updated
- 2026-11-02
NVD
4.5
MJML through 4.18.0 allows mj-include directory traversal to test file existence and (in the type="css" case) read files. NOTE: this issue exists because of an incomplete fix for CVE-2020-12827.
- Record
CVE-2025-67898- CVSS 3.1
- 4.5 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L - Weakness
- CWE-36
- Updated
- 2026-11-02
OSV
4.5
MJML through 4.18.0 allows mj-include directory traversal to test file existence and (in the type="css" case) read files. NOTE: this issue exists because of an incomplete fix for CVE-2020-12827.
- Record
CVE-2025-67898- CVSS 3.1
- 4.5 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L - Weakness
- CWE-36
- Updated
- 2026-11-02
OSVGHSA-45h5-66jx-r2wf
4.5
MJML allows mj-include directory traversal due to an incomplete fix for CVE-2020-12827
MJML before 5.0.0-alpha.9 allows mj-include directory traversal to test file existence and (in the type="css" case) read files. NOTE: this issue exists because of an incomplete fix for CVE-2020-12827.
- Record
GHSA-45h5-66jx-r2wf- CVSS 3.1
- 4.5 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L - Weakness
- CWE-36
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
mjmlnpm |
before 5.0.0-alpha.9 | 5.0.0-alpha.9 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-67898 is a medium vulnerability (CVSS 4.5) in Mjml, published December 14, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.26%, the 17th percentile. Fixed in mjml 5.0.0-alpha.9.
References
github.com/mjmlio/mjml/issues/3018
nvd.nist.gov/vuln/detail/CVE-2025-67898
nvd.nist.gov/vuln/detail/CVE-2020-12827
github.com/mjmlio/mjml/pull/3033
github.com/mjmlio/mjml/commit/517b376b068e71c713ec4bb4ef9e5b0b7235b8ce
github.com/advisories/GHSA-45h5-66jx-r2wf
github.com/CVEProject/cvelistV5/tree/main/cves/2025/67xxx/CVE-2025-67898.json
github.com/mjmlio/mjml