---
id: CVE-2024-21910
aliases:
  - GHSA-r8hm-w5f7-wj39
  - PYSEC-2026-632
title: Cross-site scripting vulnerability in TinyMCE plugins
summary: Cross-site scripting vulnerability in TinyMCE plugins
severity: medium
cvss: 6.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'
vendor: tinymce
product: tinymce
ecosystem: npm
affected:
  - tinymce < 5.10.0
  - tinymce/tinymce < 5.10.0
  - TinyMCE < 5.10.0
  - django-tinymce < 3.4.0
patched:
  - tinymce 5.10.0
  - tinymce/tinymce 5.10.0
  - TinyMCE 5.10.0
  - django-tinymce 3.4.0
published: '2021-11-02'
updated: '2026-07-08'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-r8hm-w5f7-wj39'
references:
  - url: 'https://github.com/tinymce/tinymce/security/advisories/GHSA-r8hm-w5f7-wj39'
  - url: 'https://github.com/jazzband/django-tinymce/issues/366'
  - url: 'https://github.com/jazzband/django-tinymce/releases/tag/3.4.0'
  - url: 'https://github.com/tinymce/tinymce'
  - url: 'https://pypi.org/project/django-tinymce/3.4.0'
tags:
  - osv
  - npm
epss: 0.00956
epssPercentile: 0.59741
ingestedAt: '2026-07-08T18:25:52.681Z'
---

## Overview

### Impact
A cross-site scripting (XSS) vulnerability was discovered in the URL processing logic of the `image` and `link` plugins. The vulnerability allowed arbitrary JavaScript execution when updating an image or link using a specially crafted URL. This issue only impacted users while editing and the dangerous URLs were stripped in any content extracted from the editor. This impacts all users who are using TinyMCE 5.9.2 or lower.

### Patches
This vulnerability has been patched in TinyMCE 5.10.0 by improved sanitization logic when updating URLs in the relevant plugins.

### Workarounds
To work around this vulnerability, either:
- Upgrade to TinyMCE 5.10.0 or higher
- Disable the `image` and `link` plugins

### Acknowledgements
Tiny Technologies would like to thank Yakir6 for discovering this vulnerability.

### References
https://www.tiny.cloud/docs/release-notes/release-notes510/#securityfixes

### For more information
If you have any questions or comments about this advisory:
* Email us at [infosec@tiny.cloud](mailto:infosec@tiny.cloud)
* Open an issue in the [TinyMCE repo](https://github.com/tinymce/tinymce/issues)

## Affected packages

- `tinymce < 5.10.0`
- `tinymce/tinymce < 5.10.0`
- `TinyMCE < 5.10.0`
- `django-tinymce < 3.4.0`

## Remediation

Upgrade to a patched release:

- `tinymce 5.10.0`
- `tinymce/tinymce 5.10.0`
- `TinyMCE 5.10.0`
- `django-tinymce 3.4.0`
