leandrocp mdex up to 0.13.1 Normalization delta_converter.ex Delta cross site scripting
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 4.1 | $0-$5k | 0.60 |
Summary
A vulnerability classified as problematic has been found in leandrocp mdex up to 0.13.1. This affects an unknown part in the library lib/mdex/delta_converter.ex of the component Normalization Handler. This manipulation of the argument Delta causes cross site scripting. This vulnerability is registered as CVE-2026-54889. Remote exploitation of the attack is possible. No exploit is available. It is recommended to upgrade the affected component.
Details
A vulnerability was found in leandrocp mdex up to 0.13.1. It has been declared as problematic. Affected by this vulnerability is some unknown processing in the library lib/mdex/delta_converter.ex of the component Normalization Handler. The manipulation of the argument Delta with an unknown input leads to a cross site scripting vulnerability. The CWE definition for the vulnerability is CWE-79. The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. As an impact it is known to affect integrity. The summary by CVE is:
Improper Neutralization of Input During Web Page Generation (XSS) vulnerability in leandrocp mdex allows cross-site scripting via unsanitized URL schemes in Quill Delta output. 'Elixir.MDEx':to_delta/2 converts Markdown into a Quill Delta. 'Elixir.MDEx.DeltaConverter':default_convert_node/3 in lib/mdex/delta_converter.ex copies the URL of a link, wikilink, or image node directly from the parsed Markdown into the Delta "link" or "image" attribute without applying a scheme allowlist or any normalization. An attacker who controls the Markdown text can supply a javascript: URL (for example [click](javascript:alert(document.cookie))) that survives verbatim into the Delta attribute. When the Delta is rendered to HTML by a downstream renderer (such as quill-delta-to-html or the Quill client), the attribute becomes an or , and the javascript: scheme executes in the browser of anyone who views the rendered content. The link and wikilink cases are the strongest vectors because javascript: in an href executes on click; the image case is lower impact because javascript: in generally does not execute in modern browsers. This issue affects mdex: from 0.8.3 before 0.13.2.
The weakness was published by Peter Ullrich and Jonatan Männchen as GHSA-4383-7xfp-gpph. It is possible to read the advisory at github.com. This vulnerability is known as CVE-2026-54889 since 06/16/2026. The exploitation appears to be easy. The attack can be launched remotely. The exploitation doesn't need any form of authentication. It demands that the victim is doing some kind of user interaction. Technical details of the vulnerability are known, but there is no available exploit. The attack technique deployed by this issue is T1059.007 according to MITRE ATT&CK.
Upgrading to version 0.13.2 eliminates this vulnerability. Applying the patch 2817147f5b87ce7186aa604c9ee72499485b8f2f is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.
Be aware that VulDB is the high quality source for vulnerability data.
Product
Vendor
Name
Version
License
Website
- Product: https://github.com/leandrocp/mdex/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 4.3VulDB Meta Temp Score: 4.1
VulDB Base Score: 4.3
VulDB Temp Score: 4.1
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Cross site scriptingCWE: CWE-79 / CWE-94 / CWE-74
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: mdex 0.13.2
Patch: 2817147f5b87ce7186aa604c9ee72499485b8f2f
Timeline
06/16/2026 CVE reserved06/29/2026 VulDB entry created
06/30/2026 Advisory disclosed
06/30/2026 VulDB entry last update
Sources
Product: github.comAdvisory: GHSA-4383-7xfp-gpph
Researcher: Peter Ullrich, Jonatan Männchen
Status: Confirmed
CVE: CVE-2026-54889 (🔒)
GCVE (CVE): GCVE-0-2026-54889
GCVE (VulDB): GCVE-100-374695
Entry
Created: 06/30/2026 00:53Changes: 06/30/2026 00:53 (73)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.