CVE-2023-4771 is a medium-severity (CVSS 6.1) Cross-site Scripting (XSS) vulnerability in ckeditor4. 2 public exploit or proof-of-concept references are indexed, so weaponization risk is real. A fix is available for ckeditor4 — see the affected versions and patch details below.
Cross-Site Scripting vulnerability in CKSource CKEditor
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2023-4771.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
ckeditor4npmDescription
Affected packages
The vulnerability has been discovered in the AJAX sample available at the samples/old/ajax.html file location. All integrators that use that sample in the production code can be affected.
Impact
A potential vulnerability has been discovered in one of CKEditor's 4 samples that are shipped with production code. The vulnerability allowed to execute JavaScript code by abusing the AJAX sample. It affects all users using the CKEditor 4 at version < 4.24.0-lts where samples/old/ajax.html is used in a production environment.
Patches
The problem has been recognized and patched. The fix will be available in version 4.24.0-lts.
For more information
Email us at [email protected] if you have any questions or comments about this advisory.
Acknowledgements
The CKEditor 4 team would like to thank Rafael Pedrero and INCIBE (original report) for recognizing and reporting this vulnerability.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | ckeditor4 | all versions | 4.24.0-ltsnpm install ckeditor4@4.24.0-lts |
Affected Products
ckeditorcksourceResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for ckeditor4, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update ckeditor4 to 4.24.0-lts or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2023-4771 is resolved across your whole dependency graph.
Workarounds
Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.
Frequently Asked Questions
Is CVE-2023-4771 in your dependencies?
Find it across npm, including transitive dependencies.