Description
Versions of the package mammoth from 0.3.25 and before 1.11.0; versions of the package mammoth from 0.3.25 and before 1.11.0; versions of the package mammoth before 1.11.0; versions of the package org.zwobble.mammoth:mammoth before 1.11.0 are vulnerable to Directory Traversal due to the lack of path or file type validation when processing a docx file containing an image with an external link (r:link attribute instead of embedded r:embed). The library resolves the URI to a file path and after reading, the content is encoded as base64 and included in the HTML output as a data URI. An attacker can read arbitrary files on the system where the conversion is performed or cause an excessive resources consumption by crafting a docx file that links to special device files such as /dev/random or /dev/zero.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | mammoth | 0.3.25 – < 1.11.0, < 1.11.0 | 1.11.0 |
| — | org.zwobble.mammoth:mammoth | < 1.11.0 | 1.11.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | org.zwobble.mammoth:mammoth | < 1.11.0 | 1.11.0 | GHSA-rmjr-87wv-gf87 |
| npm | mammoth | >= 0.3.25, < 1.11.0 | 1.11.0 | GHSA-rmjr-87wv-gf87 |
| NuGet | Mammoth | < 1.11.0 | 1.11.0 | GHSA-rmjr-87wv-gf87 |
| PyPI | mammoth | >= 0.3.25, < 1.11.0 | 1.11.0 | PYSEC-2026-1603 |
References
- https://security.snyk.io/vuln/SNYK-JS-MAMMOTH-13554470
- https://security.snyk.io/vuln/SNYK-PYTHON-MAMMOTH-13561967
- https://security.snyk.io/vuln/SNYK-DOTNET-MAMMOTH-13561968
- https://security.snyk.io/vuln/SNYK-JAVA-ORGZWOBBLEMAMMOTH-13561969
- https://gist.github.com/AudunWA/4d690d9ae5efdafe7cf71d9c2ee90a10
- https://github.com/mwilliamson/mammoth.js/commit/c54aaeb43a7941317c1f3c119ffa92090f988820