Skip to main content

Code Embed CVE-2026-48093

| EUVDEUVD-2026-54510 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-08-07 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain Contributor-level WordPress credentials
  2. Delivery
    Author post with URL embed token pointing to attacker server
  3. Exploit
    Submit post for editorial review
  4. Execution
    Administrator opens post preview or review screen
  5. Persist
    Plugin fetches attacker-controlled URL without sanitization
  6. Impact
    Attacker JavaScript executes in authenticated admin browser session

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a Contributor-level (or higher) WordPress account on the target site; unauthenticated or subscriber-level users cannot exploit this vulnerability. The Code Embed plugin must be installed, active, and running version 2.6.x prior to 2.6.1-the external URL embed feature introduced in version 2.6 is the specific vector, not the legacy custom-field path addressed by CVE-2026-2512 in versions up to 2.5.1. Exploitation further depends on an Administrator or Editor actively previewing or reviewing the attacker's submitted post (UI:R); without this user interaction, the stored payload cannot trigger. Sites restricting Contributor registration, running only trusted contributor accounts, or operating without an editorial review workflow for contributor content have significantly reduced realistic exposure regardless of patch status.

Impact

The provided CVSS 3.1 vector AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L (score 6.5) accurately captures the attack topology-network-reachable, low complexity, low privileges (Contributor), with mandatory administrator interaction and a scope change into the reviewing user's browser context. The Scope:Changed rating is the most consequential signal here: XSS executing in an authenticated admin session can cascade into full site compromise via admin account creation, plugin installation, or theme file modification, effects far exceeding the C:L/I:L base ratings. No EPSS data was supplied in the intelligence inputs and this CVE does not appear in CISA KEV, moderating urgency; however, stored-XSS-targeting-admin patterns in WordPress plugins are a historically active exploitation category, so the absence from KEV reflects novelty rather than low attacker interest. The binding constraint is the Contributor-role prerequisite: sites with no open registration, no untrusted Contributor accounts, or where contributor posts bypass the editorial review workflow are realistically unexploitable regardless of patch status. The fix is confirmed released.

Exploit ScenarioDerived

An attacker registers or obtains a Contributor-level WordPress account on the target site, then authors a post containing a URL embed token pointing to an attacker-controlled server configured to return a JavaScript payload-such as a script that creates a rogue admin account or exfiltrates session cookies. The attacker submits the post for editorial review; when an Administrator or Editor opens the post preview or review screen, the Code Embed plugin fetches the malicious URL and injects the returned JavaScript into the rendered page, executing it in the authenticated admin browser session with full privileges. No public exploit code has been identified at time of analysis, but the attack is straightforward to reproduce from the advisory and commit diff.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 07, 2026

Stored XSS in the Code Embed WordPress plugin (versions prior to 2.6.1) permits a Contributor-role attacker to plant a URL embed token referencing an attacker-controlled server; when an Administrator or Editor previews or reviews the pending post, the plugin fetches the remote URL and injects the unfiltered response body-including arbitrary JavaScript-directly into the rendered page. The root cause is a dual omission in add-embeds.php: no output sanitization on fetched remote content and no unfiltered_html capability check before URL-embed expansion, a pattern confirmed by the commit diff from the fix release. No public exploit has been identified at time of analysis; vendor-released patch 2.6.1 is confirmed by a GitHub release tag, a commit, and the plugin changelog.

RemediationAI

Upgrade Code Embed to version 2.6.1, the vendor-released patch confirmed by the GitHub release at https://github.com/dartiss/code-embed/releases/tag/2.6.1 and commit 399752029c62fea82a9bc13fd156713fb4d50ea8. If immediate upgrade is not possible, the most effective compensating control is to audit and remove unnecessary Contributor-role accounts, eliminating the attacker foothold entirely; this has no functional side effect for sites with controlled contributor lists. A secondary control is to avoid previewing or reviewing posts from untrusted Contributor accounts until the patch is applied, though this disrupts normal editorial workflows. Site administrators should also inspect existing pending posts authored by Contributors for URL embed tokens (typically formatted as plugin-specific shortcodes or tokens referencing external domains) before opening them in preview or review mode, since stored payloads persist until removed.

Affected VersionsENISA

code-embed < 2.6.1

Affected Packages

euvd code_embed fix: 2.6.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The Code Embed plugin (CPE: cpe:2.3:a:dartiss:code-embed) provides a WordPress token mechanism that embeds external code snippets into post content by specifying a remote URL. The vulnerable code path in includes/add-embeds.php called ce_quick_replace() unconditionally for both HTTP and HTTPS URL tokens, fetching the remote resource and inserting the raw response body into $content via str_replace() without any sanitization. This is a textbook CWE-79 (Improper Neutralization of Input During Web Page Generation) violation: user-controllable data-the URL itself and the remote server's arbitrary response-entered the output stream directly. WordPress's role-capability model reserves the unfiltered_html capability for Administrators and Editors; Contributors explicitly lack it. The plugin failed to gate URL-embed expansion on this capability, so Contributor-authored posts could carry URL tokens that execute attacker-controlled content when rendered by any higher-privileged reviewer. The fix introduces two complementary controls: a save_post hook (ce_save_url_embed_permission) that stamps the post with a meta flag recording whether the post author held unfiltered_html at save time, and a runtime gate that suppresses URL-embed expansion for posts lacking that flag; fetched content is additionally passed through wp_kses_post() for sanitization.

Know when Code Embed gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
vuln.today AI 5.4 MEDIUM

Contributor account required (PR:L); admin must actively preview post (UI:R); JavaScript executes in admin browser session causing scope change (S:C); no direct availability impact from XSS itself.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
Low

Lifecycle Timeline

2
Patch available
Aug 07, 2026 - 17:17 EUVD
CVE Published
Aug 07, 2026 - 15:46 cve.org
MEDIUM 6.5

DescriptionCVE.org

The Code Embed WordPress plugin prior to version 2.6.1 is vulnerable to stored Cross-Site Scripting (XSS) through the external URL embed feature in post content. The vulnerable code scans rendered content for URL embed tokens, fetches the remote URL, and inserts the remote response body into the page without output sanitization or an unfiltered_html capability check. This allows a Contributor attacker to submit a pending post containing an inert-looking URL token that executes attacker-controlled JavaScript when an Administrator or Editor previews or reviews the post. This is distinct from CVE-2026-2512, which affected custom field meta values up to version 2.5.1. This vector affects version 2.6 and uses the documented external URL embed feature in post content. This particular issue is patched in version 2.6.1.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche WordPress plugin for code embedding, limited install base
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy