Answer in brief
CVE-2026-54756 records a Medium severity (CVSS 6.3) security vulnerability in Jodit has prototype pollution via Jodit.configure() / ConfigMerge. The source record does not mark it as known exploited. 1 affected package is mapped in the feed.
Answer in brief
CVE-2026-54756 records a Medium severity (CVSS 6.3) security vulnerability in Jodit has prototype pollution via Jodit.configure() / ConfigMerge. The source record does not mark it as known exploited. 1 affected package is mapped in the feed.
Update jodit to 4.12.18 if you use the affected versions. Test the change in a non-production environment first.
Local check
hol-guard supply-chain scanVulnerability describes the vulnerability class recorded for this advisory. The current record does not mark CVE-2026-54756 as known exploited; continue to monitor the source for status changes. The feed includes package mappings that can be checked against lockfiles and deployed manifests.
| Package | Affected range | Fixed version |
|---|---|---|
| joditnpm | <4.12.18 | 4.12.18 |
Fixed versions are reported by the source feed; confirm compatibility before updating.
Reported by GitHub Security Advisories (ghsa).
CVE-2026-54756 records a Medium severity (CVSS 6.3) security vulnerability in Jodit has prototype pollution via Jodit.configure() / ConfigMerge. The source record does not mark it as known exploited. 1 affected package is mapped in the feed.
The source record does not mark it as known exploited.
Check lockfiles and deployed manifests for jodit.
HOL Guard can help your team review package activity against supported protection paths.
Explore HOL GuardUpdate jodit to 4.12.18 if you use the affected versions. Test the change in a non-production environment first.
Local check
hol-guard supply-chain scanVulnerability describes the vulnerability class recorded for this advisory. The current record does not mark CVE-2026-54756 as known exploited; continue to monitor the source for status changes. The feed includes package mappings that can be checked against lockfiles and deployed manifests.
| Package | Affected range | Fixed version |
|---|---|---|
| joditnpm | <4.12.18 | 4.12.18 |
Fixed versions are reported by the source feed; confirm compatibility before updating.
Reported by GitHub Security Advisories (ghsa).
CVE-2026-54756 records a Medium severity (CVSS 6.3) security vulnerability in Jodit has prototype pollution via Jodit.configure() / ConfigMerge. The source record does not mark it as known exploited. 1 affected package is mapped in the feed.
The source record does not mark it as known exploited.
Check lockfiles and deployed manifests for jodit.
HOL Guard can help your team review package activity against supported protection paths.
Explore HOL Guard### 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.
### 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.