Skip to main content
VulnerabilityPublished Updated

CVE-2026-93339: Metaphor Creations Ditty · Cross-site Scripting

Affects Metaphor Creations DittySource CVE Database V5

0
Compare

Not known to be exploited · CVSS 5.1 Medium : upgrade to 3.1.70 when convenient.

Data as of 5 Nov 2026, 00:01 UTC

CVSS 4.0 base score
5.1Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.3% chance of exploitation in 30 days – higher than 24% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 3.1.70
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 21 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.

What to do

Upgrade Metaphor Creations Ditty to 3.1.70.

Affected software

ProductAffectedFixed in
Metaphor CreationsDittyAffected
  • <3.1.70
Fixed in
  • 3.1.70

AI-suggested

If you cannot patch yet, restrict Author-level privileges to trusted users only and consider removing or disabling the affected Ditty items.

Description

Metaphor Creations Ditty versions before 3.1.70 contain a stored cross-site scripting (XSS) vulnerability. Authenticated users with Author-level privileges or higher can inject arbitrary HTML elements via malicious wrapper attribute values in layout tags. This occurs because the function ditty_layout_render_tag_wrapper() inserts user-supplied values directly as HTML element names without allowlist validation. The sanitization function wp_kses_post() is bypassed since it runs at save time, but the malicious attributes are resolved at render time, enabling execution of the payload in visitors' browsers.

References

Community reviews

Loading reviews…