GHSA-5957-5c94-3v7w
Jodit has prototype pollution via Jodit.configure() / ConfigMerge
Quick fix
GHSA-5957-5c94-3v7w — jodit: upgrade to the fixed version with the command below.
npm install jodit@4.12.18 Details
### Summary `Jodit.configure(options)` — and the internal `ConfigMerge` / `ConfigProto` helpers — merged user-supplied options into the editor configuration without filtering prototype-mutating keys. A payload nested under an existing plain-object option such as `controls` could reach and mutate `Object.prototype` (prototype pollution).
### Affected - Package: `jodit` (npm) - Versions: `< 4.12.18` - Public API: `Jodit.configure(options)`
### Proof of Concept ```js import { Jodit } from 'jodit'; delete Object.prototype.polluted; Jodit.configure(JSON.parse('{"controls":{"__proto__":{"polluted":"yes"}}}')); console.log(({}).polluted); // "yes" (before the fix) delete Object.prototype.polluted; ```
### Impact Applications that pass user-controlled or partially user-controlled configuration into `Jodit.configure()` could be vulnerable to prototype pollution: unexpected property injection, logic bypass, denial of service, or secondary security issues.
### Patch Fixed in 4.12.18 by rejecting `__proto__`, `constructor`, and `prototype` at every merge level in `ConfigMerge` and `ConfigProto`.
### Credit Responsibly reported by Junming Wu.
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://github.com/xdan/jodit/security/advisories/GHSA-5957-5c94-3v7w [WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2026-54756 [ADVISORY]
- https://github.com/xdan/jodit/commit/d298397bc993793b17145806c15f7dae53f90104 [WEB]
- https://github.com/xdan/jodit [PACKAGE]
- https://github.com/xdan/jodit/releases/tag/4.12.18 [WEB]