CVE-2026-103908: AMP for WP: arbitrary shortcode execution by auth users
MEDIUMThe AMP for WP – Accelerated Mobile Pages plugin up to version 1.1.18 passes an unvalidated value to do_shortcode, so any authenticated user with custom-level (contributor-type) access can run arbitrary WordPress shortcodes. This is a WordPress content plugin, not an AI/ML component. Its classification as an ML library and its listing under pip look like a data-mapping artifact, so treat the AI relevance as minimal. The CVSS score is a moderate 5.4 (low confidentiality and integrity impact). It is not in CISA KEV, has no public exploit or Nuclei template, and EPSS and SSVC data are not yet available. The risk is wider than the score suggests because the vulnerable output block depends on the 'ampforwp-cat-description' setting, which is on by default. Update to a release newer than 1.1.18 once the vendor publishes a fix (no patched version is listed in the source data yet). Until then, review which accounts hold contributor-level roles, and disable the category-description option if you don't need it.
What is the risk?
Medium. Exploitation needs network access and a low-privilege authenticated account, but no user interaction and low complexity. Impact is limited to low confidentiality and integrity loss, with no availability impact. The real severity depends on which shortcodes are installed: a plugin that exposes file, database, or code-running shortcodes could turn this into something worse than the base score. The default-on setting means most installs are exposed. There is no evidence of active exploitation, no KEV listing, and no public exploit. EPSS is not available, so the exploitation likelihood is unquantified. The package risk score is low (28/100) and the OpenSSF Scorecard is a middling 6.7/10.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Accelerate | pip | — | No patch |
Do you use Accelerate? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) Update AMP for WP to the first release after 1.1.18 as soon as the vendor provides one, and check the Wordfence advisory for the exact fixed version. 2) Until patched, disable the category description output in the AMP settings (the 'ampforwp-cat-description' option) if it isn't needed. 3) Restrict contributor and custom roles to trusted users, and remove unused accounts. 4) Audit installed plugins for shortcodes that expose sensitive functionality (file access, database queries, AI or chatbot embeds) and disable the ones you don't use. 5) Review web server and WordPress logs for unusual AMP category-page requests and for unexpected shortcode output. 6) Add a WAF rule or virtual patch if your provider offers one for this plugin.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-103908?
The AMP for WP – Accelerated Mobile Pages plugin up to version 1.1.18 passes an unvalidated value to do_shortcode, so any authenticated user with custom-level (contributor-type) access can run arbitrary WordPress shortcodes. This is a WordPress content plugin, not an AI/ML component. Its classification as an ML library and its listing under pip look like a data-mapping artifact, so treat the AI relevance as minimal. The CVSS score is a moderate 5.4 (low confidentiality and integrity impact). It is not in CISA KEV, has no public exploit or Nuclei template, and EPSS and SSVC data are not yet available. The risk is wider than the score suggests because the vulnerable output block depends on the 'ampforwp-cat-description' setting, which is on by default. Update to a release newer than 1.1.18 once the vendor publishes a fix (no patched version is listed in the source data yet). Until then, review which accounts hold contributor-level roles, and disable the category-description option if you don't need it.
Is CVE-2026-103908 actively exploited?
No confirmed active exploitation of CVE-2026-103908 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-103908?
1) Update AMP for WP to the first release after 1.1.18 as soon as the vendor provides one, and check the Wordfence advisory for the exact fixed version. 2) Until patched, disable the category description output in the AMP settings (the 'ampforwp-cat-description' option) if it isn't needed. 3) Restrict contributor and custom roles to trusted users, and remove unused accounts. 4) Audit installed plugins for shortcodes that expose sensitive functionality (file access, database queries, AI or chatbot embeds) and disable the ones you don't use. 5) Review web server and WordPress logs for unusual AMP category-page requests and for unexpected shortcode output. 6) Add a WAF rule or virtual patch if your provider offers one for this plugin.
What systems are affected by CVE-2026-103908?
This vulnerability affects the following AI/ML architecture patterns: WordPress-hosted web front ends, CMS plugins that embed AI chatbot or RAG widgets.
What is the CVSS score for CVE-2026-103908?
CVE-2026-103908 has a CVSS v3.1 base score of 5.4 (MEDIUM).
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049Exploit Public-Facing ApplicationCompliance Controls Affected
What are the technical details?
Original Advisory
The The AMP for WP – Accelerated Mobile Pages plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 1.1.18. This is due to the software allowing users to execute an action that does not properly validate a value before running do_shortcode. This makes it possible for authenticated attackers, with custom-level access and above, to execute arbitrary shortcodes. The vulnerable output block is gated by the 'ampforwp-cat-description' setting, which is enabled by default, meaning the vast majority of installations are affected without any additional configuration change.
Exploitation Scenario
An attacker registers, or compromises, a low-privilege account with contributor-level or custom-role access on a WordPress site that uses AMP for WP. They craft input so that a shortcode string reaches the do_shortcode call in the plugin's category-description output. The site then runs the shortcode when the AMP category page renders. If the site also embeds an AI chatbot or a RAG search plugin through shortcodes, the attacker could invoke it to expose its configuration or data, or to inject unwanted content. The attacker then reads the output on the public AMP page.
Weaknesses (CWE)
CWE-94 — Improper Control of Generation of Code: The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
- [Architecture and Design] Refactor your program so that you do not have to dynamically generate code.
- [Architecture and Design] Run your code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which code can be executed by your product. Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection. This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your application may still be subject to compromise. Be careful to avoid CWE-243 and other weaknesses related to jails.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:NReferences
- plugins.trac.wordpress.org/browser/accelerated-mobile-pages/tags/1.1.17/components/loop/loop.php
- plugins.trac.wordpress.org/browser/accelerated-mobile-pages/tags/1.1.17/components/loop/loop.php
- plugins.trac.wordpress.org/changeset
- wordfence.com/threat-intel/vulnerabilities/id/fcd756ea-9690-4535-9cc4-203a10093432
Timeline
Related Vulnerabilities
CVE-2026-691127.1Accelerate: path traversal in checkpoint loading
Same package: accelerateCVE-2026-623006.5Filecoin Pin: missing rate limits allow resource exhaustion DoS
Same package: accelerateCVE-2025-92664.3Non-AI false positive: WordPress theme, not ML Accelerate
Same package: accelerateCVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same attack type: Code ExecutionCVE-2025-5952810.0Flowise: Unauthenticated RCE via MCP config injection
Same attack type: Code Execution