{"id":"CVE-2026-97151","state":"PUBLISHED","title":"mammoth (aka mammoth.js) before 1.12.2 is vulnerable to prototype pollution when reading the styles defined in a document. Converting a crafted .docx file allows an attacker to add","description":"mammoth (aka mammoth.js) before 1.12.2 is vulnerable to prototype pollution when reading the styles defined in a document. Converting a crafted .docx file allows an attacker to add arbitrary properties to Object.prototype. In 1.11.0 through 1.12.1, applications that convert further documents in the same process and return the converted HTML can also disclose the contents of local server files (to the party supplying the documents) by setting externalFileAccess to true.","publishedAt":"2026-09-24T03:08:15.523Z","updatedAt":"2026-09-24T13:02:42.611Z","severity":{"score":8.4,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:H/SC:N/SI:N/SA:N","source":"mitre"},"assigner":"mitre","products":["mwilliamson mammoth.js"],"affected":[{"vendor":"mwilliamson","product":"mammoth.js","packageName":"mammoth","packageURL":"pkg:npm/mammoth","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.12.2","versionType":"semver"}],"collectionURL":"https://registry.npmjs.org","modules":["docx styles reader"],"programFiles":["lib/docx/styles-reader.js"],"programRoutines":[{"name":"readStylesXml"}],"repo":"https://github.com/mwilliamson/mammoth.js"}],"references":["https://raw.githubusercontent.com/mwilliamson/mammoth.js/master/NEWS","https://www.npmjs.com/package/mammoth","https://github.com/mwilliamson/mammoth.js/commit/31f0c370be4b95ac4fa285fea3be970606735f16","https://github.com/mwilliamson/mammoth.js/commit/2888fa158d67c1419199f152326e12a05618b53e"],"weaknesses":["CWE-1321"],"ingestedAt":"2026-10-29T20:13:43.249Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/97xxx/CVE-2026-97151.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-97151","state":"PUBLISHED","datePublished":"2026-09-24T03:08:15.523Z","dateUpdated":"2026-09-24T13:02:42.611Z","assignerShortName":"mitre","assignerOrgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","dateReserved":"2026-09-24T03:08:15.164Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"mammoth (aka mammoth.js) before 1.12.2 is vulnerable to prototype pollution when reading the styles defined in a document. Converting a crafted .docx file allows an attacker to add arbitrary properties to Object.prototype. In 1.11.0 through 1.12.1, applications that convert further documents in the same process and return the converted HTML can also disclose the contents of local server files (to the party supplying the documents) by setting externalFileAccess to true."}],"affected":[{"vendor":"mwilliamson","product":"mammoth.js","packageName":"mammoth","packageURL":"pkg:npm/mammoth","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.12.2","versionType":"semver"}],"collectionURL":"https://registry.npmjs.org","modules":["docx styles reader"],"programFiles":["lib/docx/styles-reader.js"],"programRoutines":[{"name":"readStylesXml"}],"repo":"https://github.com/mwilliamson/mammoth.js"}],"references":[{"url":"https://raw.githubusercontent.com/mwilliamson/mammoth.js/master/NEWS","tags":["release-notes","vendor-advisory"]},{"url":"https://www.npmjs.com/package/mammoth","tags":["product"]},{"url":"https://github.com/mwilliamson/mammoth.js/commit/31f0c370be4b95ac4fa285fea3be970606735f16","tags":["patch"]},{"url":"https://github.com/mwilliamson/mammoth.js/commit/2888fa158d67c1419199f152326e12a05618b53e","tags":["patch"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":8.4,"baseSeverity":"HIGH","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:H/SC:N/SI:N/SA:N","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"LOW","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-1321","description":"CWE-1321 Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"mitre","orgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","dateUpdated":"2026-09-24T03:08:15.523Z"},"configurations":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"The prototype pollution itself requires no particular configuration. The less common externalFileAccess bypass additionally requires the application to convert more than one document within the same process and to return the converted HTML to the party supplying the documents.<br>"}],"value":"The prototype pollution itself requires no particular configuration. The less common externalFileAccess bypass additionally requires the application to convert more than one document within the same process and to return the converted HTML to the party supplying the documents."}],"solutions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Upgrade to mammoth 1.12.2 or later.<br>"}],"value":"Upgrade to mammoth 1.12.2 or later."}],"x_generator":{"engine":"CVE-Request-form 0.0.1"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-24T13:02:06.758652Z","id":"CVE-2026-97151","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-24T13:02:42.611Z"}}]}}}