Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsTraining
StudyProjectsNewsletterHire MeAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Training
Study
Projects
Newsletter
Hire Me
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

2090+ Articles
154+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Checklists
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-14289: FacturaONE WooCommerce Plugin Allows Unauthenticated File Write
CVE-2026-14289: FacturaONE WooCommerce Plugin Allows Unauthenticated File Write

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-14289

CVE-2026-14289: FacturaONE WooCommerce Plugin Allows Unauthenticated File Write

A critical unauthenticated arbitrary file write vulnerability in the FacturaONE para WooCommerce con VeriFactu plugin (before v5.37) allows attackers to write arbitrary files due to an empty cryptographic key in the default unconfigured state.

Dylan H.

Security Team

July 27, 2026
5 min read

Affected Products

  • FacturaONE para WooCommerce con VeriFactu < 5.37

Executive Summary

A critical unauthenticated arbitrary file write vulnerability (CVE-2026-14289) has been disclosed in the FacturaONE para WooCommerce con VeriFactu WordPress plugin. The plugin is used by Spanish e-commerce merchants to automate electronic invoice generation in compliance with Spain's VeriFactu electronic invoicing regulation.

The vulnerability carries a CVSS score of 9.0 and exploits a fundamental design flaw: the plugin's request handler relies on a cryptographic key for protection, but that key is empty by default in the unconfigured state — effectively providing no protection at all to any site that has not been manually configured.

CVSS Score: 9.0 (Critical)


Vulnerability Details

AttributeValue
CVE IDCVE-2026-14289
CVSS Score9.0 (Critical)
TypeUnauthenticated Arbitrary File Write
Attack VectorNetwork
Privileges RequiredNone
User InteractionNone
ConditionPlugin installed in default/unconfigured state
Fixed Version5.37

Affected Versions

PluginAffected VersionsFixed Version
FacturaONE para WooCommerce con VeriFactu< 5.375.37

Root Cause Analysis

The vulnerability stems from a request handler that is intended to be protected by a cryptographic key — a shared secret between the plugin and an external service. However, in the plugin's default, unconfigured state, this key is empty.

An unauthenticated attacker can:

  1. Send a request to the handler with an empty key (or no key at all)
  2. The empty-key check passes validation because the expected value is also empty
  3. The handler accepts the request as authenticated
  4. The attacker can write arbitrary content to an arbitrary file path on the server
// Simplified logic flaw
expected_key = get_plugin_setting('api_key')  // Returns "" in default state
submitted_key = request.param('key')          // Attacker sends ""
 
if submitted_key == expected_key:             // "" == "" → TRUE
    allow_file_write()                        // Attacker proceeds

Attack Vector

1. Attacker scans for WordPress sites running FacturaONE WooCommerce plugin
2. Attacker checks if site is in default (unconfigured) state — empty key
3. Attacker crafts HTTP POST request with empty/no authentication key
4. Plugin validates the empty key against empty expected key — passes
5. Attacker writes arbitrary file content to target path on the server
6. If PHP file written to web-accessible directory → Remote Code Execution

Potential Impact of Successful Exploitation

ImpactDescription
Arbitrary File WriteWrite any content to any path accessible by the web server
Remote Code ExecutionWrite PHP webshell to web-accessible directory
Data ExfiltrationAccess wp-config.php and database credentials via webshell
Site DefacementOverwrite theme files or core WordPress files
PersistencePlanted backdoors survive plugin updates
Lateral MovementPivot to other sites on shared hosting environments

Immediate Remediation

Step 1: Update to Version 5.37

# Via WP-CLI
wp plugin update facturaone-woocommerce-verifactu
 
# Verify installed version
wp plugin get facturaone-woocommerce-verifactu --field=version

Or update through WordPress admin: Plugins > Installed Plugins > FacturaONE > Update Now.

Step 2: Set a Strong API Key

Even after patching, ensure the plugin's cryptographic key is set to a strong, random value:

  1. Navigate to the plugin settings in WordPress admin
  2. Generate and set a strong API key (minimum 32 random characters)
  3. Rotate this key in the connected FacturaONE/VeriFactu service accordingly

Step 3: Scan for Compromise

If your site ran this plugin in the default state, conduct an immediate compromise assessment:

# Search for recently modified PHP files in unexpected locations
find /var/www/html/wp-content/ -name "*.php" \
  -newer /var/www/html/wp-includes/version.php -type f
 
# Look for webshell signatures
grep -rl "eval\s*(base64_decode" /var/www/html/wp-content/
grep -rl "system\s*(\$_" /var/www/html/wp-content/
grep -rl "passthru\s*(\$_" /var/www/html/wp-content/
 
# Verify WordPress core file integrity
wp core verify-checksums
 
# Check recently modified files (last 7 days)
find /var/www/html/ -name "*.php" -mtime -7 -type f | \
  grep -v ".git"

If Immediate Patching Is Not Possible

  1. Deactivate the plugin entirely until it can be updated
  2. Block web server access to the vulnerable plugin endpoint at the WAF or web server level
  3. Monitor access logs for POST requests to the plugin's API endpoints

Detection Indicators

IndicatorDescription
POST requests to FacturaONE plugin endpoints with empty/no authExploitation attempts
New or modified PHP files in wp-content directoriesPossible webshell installation
Access to newly created PHP files from external IPsAttacker executing uploaded webshell
wp-config.php read followed by outbound connectionsCredential theft
Unexpected admin account creationPost-exploitation persistence

Post-Remediation Checklist

  1. Confirm plugin updated to v5.37 or later
  2. Set a strong, unique API key in plugin settings
  3. Scan for webshells and unauthorized file modifications
  4. Review user accounts for unauthorized administrators
  5. Rotate all credentials — WordPress admin, database password, API keys
  6. Regenerate WordPress security keys: wp config shuffle-salts
  7. Review web server access logs for exploitation attempts (look for POST requests to plugin API endpoints)
  8. Deploy a WAF (Wordfence, Sucuri) for ongoing protection

References

  • NIST NVD — CVE-2026-14289
  • WordPress Plugin Repository — FacturaONE para WooCommerce con VeriFactu

Related Reading

  • CVE-2026-13714: Realtyna IDX Plugin Unauthenticated File Upload
  • WP2Shell Opens Millions of WordPress Sites to Remote Takeover
  • Critical RCE in WPvivid Backup Plugin Threatens 900,000+
#CVE-2026-14289#WordPress#WooCommerce#VeriFactu#Arbitrary File Write#Unauthenticated#Web Security

Related Articles

CVE-2026-13714: Realtyna IDX Plugin Unauthenticated File Upload via Hardcoded Credentials

A critical CVSS 9.8 unauthenticated arbitrary file upload vulnerability in the Realtyna Organic IDX + WPL Real Estate WordPress plugin (before v5.3.0) exploits hardcoded credentials shipped identically across all installations.

6 min read

CVE-2025-15609: Fortis for WooCommerce Plugin Leaks API

The Fortis for WooCommerce WordPress plugin before version 1.3.1 exposes sensitive API keys to unauthenticated attackers, enabling unauthorized access to...

4 min read

Critical Auth Bypass in InfusedWoo Pro Enables

A CVSS 9.1 authorization bypass in InfusedWoo Pro for WordPress lets unauthenticated attackers permanently delete arbitrary data across all installations...

6 min read
Back to all Security Alerts