CKEditor: Cross-site scripting (XSS) in the engine package
CVE-2026-116688 · GHSA-rh54-vffm-5fvp · published 27 Oct 2026
How serious is it
- Severity: high, CVSS score 8.1 out of 10.
- No exploit prediction (EPSS) score yet.
- Not on the CISA list of exploited vulnerabilities.
- No public exploit in Exploit-DB.
Is your app affected by CVE-2026-116688?
Paste this prompt into Claude Code, Cursor or any AI coding tool: it runs a free Shippable scan of your project and fixes what it finds. Built with Lovable, Bolt or v0? Scan your live app. Or upload your package file.
Who is affected
ckeditor5(npm) >= 45.0.0, < 47.7.4@ckeditor/ckeditor5-engine(npm) >= 45.0.0, < 47.7.4ckeditor5(npm) >= 48.0.0, < 48.5.1@ckeditor/ckeditor5-engine(npm) >= 48.0.0, < 48.5.1
How to check
- Run
npm ls ckeditor5in your project to see the installed version, including copies pulled in by other packages. - Run
npm ls @ckeditor/ckeditor5-enginein your project to see the installed version, including copies pulled in by other packages. - Or paste your lockfile into the checker: it lists every package with a known vulnerability, this one included.
- Or run
npx shippable-dev scan localhost:3000in your project folder. It reads your lockfile and flags this vulnerability along with every other known one.
How to fix
Copies a prompt for Claude Code, Cursor or Codex: it checks your lockfiles for this and upgrades it.
- On >= 45.0.0, < 47.7.4: Upgrade
ckeditor5to 47.7.4 or later, commit the lockfile and redeploy. - On >= 45.0.0, < 47.7.4: Upgrade
@ckeditor/ckeditor5-engineto 47.7.4 or later, commit the lockfile and redeploy. - On >= 48.0.0, < 48.5.1: Upgrade
ckeditor5to 48.5.1 or later, commit the lockfile and redeploy. - On >= 48.0.0, < 48.5.1: Upgrade
@ckeditor/ckeditor5-engineto 48.5.1 or later, commit the lockfile and redeploy. - If a vulnerable version was live, check your logs and rotate the secrets that server could read.
The advisory
### Impact
A Cross-Site Scripting (XSS) vulnerability has been discovered in the CKEditor 5 engine. This vulnerability is caused by a prototype pollution issue in the `es-toolkit` library used in the CKEditor 5 codebase. This vulnerability could lead to unauthorized JavaScript code execution when the editor processes incoming `style` attribute values.
The underlying issue has been patched by the library maintainers, and the fix has been incorporated into CKEditor 5.
### Patches
The problem has been recognized and patched. The fix will be available in version `48.5.1` (and above) and `47.7.4` (LTS).
### For more information
Email us at [security@cksource.com](mailto:security@cksource.com) if you have any questions or comments about this advisory.
Check your whole app
Dependencies are only half of it. Free and read-only: before you push, run npx shippable-dev scan localhost:3000 in your project folder, no account needed. For your live app, you prove it's yours with a one-line tag first.
References
- github.com/ckeditor/ckeditor5/security/advisories/GHSA-rh54-vffm-5fvp
- github.com/ckeditor/ckeditor5/commit/4d9c5bb34f63cd956d15ccafbe584e14280c86a0
- github.com/ckeditor/ckeditor5/commit/a750e38635db6a18c5b11599c09f4fd702850423
- github.com/ckeditor/ckeditor5/releases/tag/v47.7.4
- github.com/ckeditor/ckeditor5/releases/tag/v48.5.1
- github.com/advisories/GHSA-rh54-vffm-5fvp
- github.com/ckeditor/ckeditor5
Merged from GitHub Advisory Database, OSV. Last updated 28 Oct 2026. All vulnerabilities · RSS · JSON