{"api_version":"1","generated_at":"2026-05-07T13:19:06+00:00","cve":"CVE-2026-40897","urls":{"html":"https://cve.report/CVE-2026-40897","api":"https://cve.report/api/cve/CVE-2026-40897.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-40897","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-40897"},"summary":{"title":"Math.js: Unsafe object property setter in mathjs","description":"Math.js is an extensive math library for JavaScript and Node.js. From 13.1.1 to before 15.2.0, a vulnerability allowed executing arbitrary JavaScript via the expression parser of mathjs. You can be affected when you have an application where users can evaluate arbitrary expressions using the mathjs expression parser. This vulnerability is fixed in 15.2.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-04-24 17:16:20","updated_at":"2026-04-27 14:47:56"},"problem_types":["CWE-915","CWE-915 CWE-915: Improperly Controlled Modification of Dynamically-Determined Object Attributes"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/josdejong/mathjs/commit/513ab2a0e01004af91b31aada68fae8a821326ad","name":"https://github.com/josdejong/mathjs/commit/513ab2a0e01004af91b31aada68fae8a821326ad","refsource":"security-advisories@github.com","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/josdejong/mathjs/pull/3656","name":"https://github.com/josdejong/mathjs/pull/3656","refsource":"security-advisories@github.com","tags":["Issue Tracking"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/josdejong/mathjs/security/advisories/GHSA-29qv-4j9f-fjw5","name":"https://github.com/josdejong/mathjs/security/advisories/GHSA-29qv-4j9f-fjw5","refsource":"security-advisories@github.com","tags":["Vendor Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-40897","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40897","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"josdejong","product":"mathjs","version":"affected >= 13.1.1, < 15.2.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2026","cve_id":"40897","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"mathjs","cpe5":"mathjs","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"40897","cve":"CVE-2026-40897","epss":"0.000510000","percentile":"0.157060000","score_date":"2026-04-27","updated_at":"2026-04-28 00:06:44"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-40897","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-04-24T17:44:50.632032Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-04-24T17:44:59.520Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"mathjs","vendor":"josdejong","versions":[{"status":"affected","version":">= 13.1.1, < 15.2.0"}]}],"descriptions":[{"lang":"en","value":"Math.js is an extensive math library for JavaScript and Node.js. From 13.1.1 to before 15.2.0, a vulnerability allowed executing arbitrary JavaScript via the expression parser of mathjs. You can be affected when you have an application where users can evaluate arbitrary expressions using the mathjs expression parser. This vulnerability is fixed in 15.2.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-915","description":"CWE-915: Improperly Controlled Modification of Dynamically-Determined Object Attributes","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-04-24T16:48:34.849Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/josdejong/mathjs/security/advisories/GHSA-29qv-4j9f-fjw5","tags":["x_refsource_CONFIRM"],"url":"https://github.com/josdejong/mathjs/security/advisories/GHSA-29qv-4j9f-fjw5"},{"name":"https://github.com/josdejong/mathjs/pull/3656","tags":["x_refsource_MISC"],"url":"https://github.com/josdejong/mathjs/pull/3656"},{"name":"https://github.com/josdejong/mathjs/commit/513ab2a0e01004af91b31aada68fae8a821326ad","tags":["x_refsource_MISC"],"url":"https://github.com/josdejong/mathjs/commit/513ab2a0e01004af91b31aada68fae8a821326ad"}],"source":{"advisory":"GHSA-29qv-4j9f-fjw5","discovery":"UNKNOWN"},"title":"Math.js: Unsafe object property setter in mathjs"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-40897","datePublished":"2026-04-24T16:48:34.849Z","dateReserved":"2026-04-15T16:37:22.766Z","dateUpdated":"2026-04-24T17:44:59.520Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-04-24 17:16:20","lastModifiedDate":"2026-04-27 14:47:56","problem_types":["CWE-915","CWE-915 CWE-915: Improperly Controlled Modification of Dynamically-Determined Object Attributes"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":2.8,"impactScore":5.9}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:mathjs:mathjs:*:*:*:*:*:node.js:*:*","versionStartIncluding":"13.1.1","versionEndExcluding":"15.2.0","matchCriteriaId":"8DB079CB-9A5C-4138-B8E5-7607D3DDC20A"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"40897","Ordinal":"1","Title":"Math.js: Unsafe object property setter in mathjs","CVE":"CVE-2026-40897","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"40897","Ordinal":"1","NoteData":"Math.js is an extensive math library for JavaScript and Node.js. From 13.1.1 to before 15.2.0, a vulnerability allowed executing arbitrary JavaScript via the expression parser of mathjs. You can be affected when you have an application where users can evaluate arbitrary expressions using the mathjs expression parser. This vulnerability is fixed in 15.2.0.","Type":"Description","Title":"Math.js: Unsafe object property setter in mathjs"}]}}}