Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-39416

CVE-2025-39416: Translit It! CSRF Vulnerability

CVE-2025-39416 is a Cross-Site Request Forgery vulnerability in the translit it! plugin that allows Stored XSS attacks. This article covers the technical details, affected versions up to 1.6, security impact, and mitigation.

Updated:

CVE-2025-39416 Overview

CVE-2025-39416 is a Cross-Site Request Forgery (CSRF) vulnerability in the Ichi translit it! WordPress plugin that leads to Stored Cross-Site Scripting (XSS). The flaw affects all versions of the translit-it plugin from initial release through version 1.6. An attacker can craft a malicious request that, when triggered by an authenticated administrator visiting an attacker-controlled page, stores arbitrary JavaScript in the plugin's settings. The stored payload then executes in the browser context of any user who views the affected page.

Critical Impact

Successful exploitation enables persistent script execution in administrator and visitor browsers, leading to session hijacking, credential theft, and potential takeover of the WordPress site.

Affected Products

  • Ichi translit it! (translit-it) WordPress plugin — versions up to and including 1.6
  • WordPress installations with the vulnerable plugin enabled
  • All sites where administrators may be socially engineered into visiting attacker-controlled URLs

Discovery Timeline

  • 2025-04-17 - CVE-2025-39416 published to NVD
  • 2026-04-23 - Last updated in NVD database

Technical Details for CVE-2025-39416

Vulnerability Analysis

The vulnerability combines two distinct weaknesses into a single attack chain. The plugin's administrative settings handler does not validate a CSRF token (nonce) on state-changing requests. As a result, an attacker can forge a request that updates plugin configuration on behalf of an authenticated administrator. The same handler also fails to sanitize or escape input written to the database, allowing arbitrary HTML and JavaScript to be stored in plugin settings. When those settings are subsequently rendered on the front end or in the admin interface, the injected script executes in the victim's browser session.

The issue is classified under [CWE-352] Cross-Site Request Forgery. User interaction is required because exploitation depends on an authenticated administrator clicking a crafted link or visiting an attacker-controlled page. The scope is changed because the injected script executes in the browser security context of users beyond the original target.

Root Cause

The root cause is the absence of WordPress nonce verification (wp_verify_nonce or check_admin_referer) on plugin settings updates, combined with missing output escaping when the stored values are rendered. Either control alone would have prevented the chain.

Attack Vector

An attacker hosts a page containing a hidden form or fetch request targeting the vulnerable plugin endpoint on a victim WordPress site. When an authenticated administrator browses to that page, their browser automatically submits the forged request with valid session cookies. The plugin accepts the request and stores the attacker-supplied script. Any subsequent page load that renders the malicious setting executes the payload.

No verified public proof-of-concept code is available. Refer to the Patchstack Vulnerability Report for additional technical details.

Detection Methods for CVE-2025-39416

Indicators of Compromise

  • Unexpected <script> tags or HTML event handlers stored in wp_options rows associated with the translit-it plugin
  • Outbound requests from administrator browsers to unfamiliar domains shortly after visiting external links
  • New or modified WordPress administrator accounts that cannot be attributed to legitimate activity

Detection Strategies

  • Audit the wp_options table for plugin settings containing HTML tags, JavaScript keywords, or encoded payloads such as <script
  • Review web server access logs for POST requests to wp-admin/options-general.php or plugin-specific endpoints lacking a valid _wpnonce parameter
  • Inspect rendered admin and front-end pages for unexpected inline scripts referencing remote domains

Monitoring Recommendations

  • Enable Web Application Firewall (WAF) rules that flag cross-origin POST submissions to WordPress admin endpoints
  • Monitor file integrity and database changes on WordPress installations for unauthorized modifications to plugin option rows
  • Alert on administrator session activity originating from atypical IP addresses or user-agents

How to Mitigate CVE-2025-39416

Immediate Actions Required

  • Deactivate and remove the translit-it plugin until a patched release becomes available
  • Rotate all WordPress administrator credentials and invalidate active sessions
  • Inspect plugin settings and remove any stored content containing executable markup

Patch Information

No fixed version has been published as of the latest NVD update. The vulnerability affects translit-it through version 1.6. Monitor the Patchstack Vulnerability Report and the WordPress plugin repository for an updated release.

Workarounds

  • Restrict access to wp-admin by source IP address using web server or firewall rules
  • Enforce a Content Security Policy (CSP) that disallows inline scripts to reduce the impact of stored XSS
  • Require administrators to use isolated browser profiles when performing privileged WordPress tasks

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.