{"id":"CVE-2025-59717","aliases":["GHSA-2h8j-8r9p-849f"],"url":"https://o3.security/vulnerability/CVE-2025-59717","summary":"@digitalocean/do-markdownit has Type Confusion vulnerability","details":"### Overview\nA type confusion issue exists in the `@digitalocean/do-markdownit` package. In the `callout` and `fence_environment` plugins, the `allowedClasses` and `allowedEnvironments` options are expected to be arrays of strings. If these options are provided as a single string, the code applies `.includes` directly on the string, resulting in substring matching instead of membership checks against an array.\n\n### Affected Versions\nAll versions up to and including 1.16.1 (npm).\n\n### Impact\nSupplying crafted input can bypass intended allow-lists (e.g., class/environment constraints) due to substring checks, which may enable rendering of unintended classes or environments and lead to policy bypass in downstream consumers.\n\n### Mitigation\nUntil an upstream fix is released, ensure configuration normalization before invoking the plugins:\n- Validate that `allowedClasses` and `allowedEnvironments` are arrays (`Array.isArray(...)`), converting single strings into one-element arrays when necessary.\n- Consider sanitizing or strictly validating user-controlled values that influence Markdown rendering.","published":"2025-09-19T00:00:00Z","modified":"2026-08-12T03:51:44.061149416Z","cvss":{"score":5.4,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"@digitalocean/do-markdownit","fixedVersion":null}],"fix":null,"references":[{"type":"WEB","url":"https://gist.github.com/thesmartshadow/dd19665f1f51a4e3c7a766e70c9eafd0"},{"type":"WEB","url":"https://www.npmjs.com/package/@digitalocean/do-markdownit"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/59xxx/CVE-2025-59717.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-59717"},{"type":"PACKAGE","url":"https://github.com/digitalocean/do-markdownit"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:44.061149416Z"}}