CVE-2023-0067 Overview
The Timed Content WordPress plugin before version 2.73 contains a Stored Cross-Site Scripting (XSS) vulnerability due to insufficient validation and escaping of shortcode attributes. When a malicious shortcode is embedded in a page or post, the unsanitized attributes are output directly back to users, enabling attackers with contributor-level access or higher to inject persistent malicious scripts.
Critical Impact
Authenticated users with contributor privileges can inject persistent malicious JavaScript that executes in the browsers of all visitors viewing affected pages, potentially leading to session hijacking, credential theft, or malware distribution.
Affected Products
- Timed Content WordPress Plugin versions prior to 2.73
- WordPress installations with the Timed Content plugin enabled
- Any website allowing contributor-level user registration with the vulnerable plugin
Discovery Timeline
- 2023-02-21 - CVE-2023-0067 published to NVD
- 2024-11-21 - Last updated in NVD database
Technical Details for CVE-2023-0067
Vulnerability Analysis
This Stored Cross-Site Scripting vulnerability stems from the plugin's failure to properly sanitize user-controllable input within shortcode attributes. When WordPress processes the Timed Content shortcode, the plugin outputs attribute values directly into the rendered HTML without adequate validation or output encoding. This allows attackers to inject arbitrary JavaScript code that persists in the database and executes whenever the affected content is viewed.
The attack requires authentication with at least contributor-level privileges, which is a common role in WordPress environments that allow guest authors or community contributions. Once the malicious payload is stored, it affects all users who view the compromised page, including administrators, making this a particularly dangerous vector for privilege escalation attacks.
Root Cause
The root cause is improper input validation (CWE-79) in the shortcode processing functionality. The plugin fails to implement WordPress's built-in sanitization functions such as esc_attr(), esc_html(), or wp_kses() when handling shortcode attribute values before rendering them in the page output. This oversight allows raw HTML and JavaScript to pass through unfiltered.
Attack Vector
The attack is network-based and requires an authenticated attacker with contributor-level access to create or edit posts containing the vulnerable shortcode. The attacker crafts a shortcode with malicious JavaScript embedded in one of the unvalidated attributes. When the post is published or previewed, the script executes in the context of any user's browser session viewing that content, including administrators. This can lead to session cookie theft, administrative account takeover, defacement, or distribution of malware to site visitors.
Detection Methods for CVE-2023-0067
Indicators of Compromise
- Unexpected JavaScript code within post content containing Timed Content shortcodes
- Posts created by contributor-level users containing suspicious shortcode attributes
- Unusual script tags or event handlers within [timed-content] or related shortcode parameters
- Browser console errors or unexpected redirects when viewing posts with Timed Content shortcodes
Detection Strategies
- Audit all posts and pages containing Timed Content shortcodes for malicious payloads
- Review user activity logs for contributors who have recently edited content with shortcodes
- Implement Web Application Firewall (WAF) rules to detect XSS patterns in POST requests
- Monitor for outbound connections to suspicious domains from user browsers
Monitoring Recommendations
- Enable WordPress audit logging to track shortcode usage and content modifications
- Configure alerts for new posts containing JavaScript-like patterns in shortcode attributes
- Implement Content Security Policy (CSP) headers to mitigate XSS payload execution
- Regularly scan stored content for known XSS patterns and obfuscated scripts
How to Mitigate CVE-2023-0067
Immediate Actions Required
- Update the Timed Content plugin to version 2.73 or later immediately
- Review all existing posts and pages for potentially malicious shortcode content
- Audit contributor and author accounts for unauthorized or suspicious activity
- Consider temporarily disabling the plugin until the update is applied
Patch Information
The vulnerability has been addressed in Timed Content version 2.73. Administrators should update through the WordPress plugin repository or manually download the patched version. For detailed vulnerability information, refer to the WPScan Vulnerability Report.
Workarounds
- Restrict contributor and author role capabilities to prevent shortcode usage in posts
- Implement a Web Application Firewall with XSS filtering rules
- Use WordPress security plugins to scan and sanitize shortcode content
- Temporarily disable the Timed Content plugin if immediate patching is not possible
# WordPress CLI commands to check plugin version and update
wp plugin list --name=timed-content --fields=name,version,update_version
wp plugin update timed-content
# Search for potentially malicious shortcode content in posts
wp db query "SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%[timed-content%script%' OR post_content LIKE '%[timed-content%onerror%'"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


