/

CVE-2026-83526

Severity:

HIGH RISK

(8.8)

Arbitrary File Upload (CWE-434) in WordPress FV Player

CVE-2026-83526

Deferred

Vulnerability type

Category:

Arbitrary File Upload

CWE:

CWE-434

Impact:

Potential Remote Code Execution

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

FV Player for WordPress contains an arbitrary file upload vulnerability caused by inadequate file type validation and missing authorization checks during new player creation. An authenticated attacker with subscriber-level access or higher may be able to place executable content in the public uploads directory, potentially enabling remote code execution if a race condition is successfully exploited.

FV Player for WordPress contains an arbitrary file upload vulnerability caused by inadequate file type validation and missing authorization checks during new player creation. An authenticated attacker with subscriber-level access or higher may be able to place executable content in the public uploads directory, potentially enabling remote code execution if a race condition is successfully exploited.

Affected context

The vulnerability occurs in FV Player deployments where the plugin's check_mimetype

function processes attacker-controlled remote file content during player creation.

The risk is higher when low-privilege authenticated users can reach the affected

workflow, when uploaded files are stored in a web-accessible directory, and when

the hosting environment permits uploaded content to execute. Successful exploitation

also depends on winning a race condition before effective file validation completes.

The vulnerability occurs in FV Player deployments where the plugin's check_mimetype

function processes attacker-controlled remote file content during player creation.

The risk is higher when low-privilege authenticated users can reach the affected

workflow, when uploaded files are stored in a web-accessible directory, and when

the hosting environment permits uploaded content to execute. Successful exploitation

also depends on winning a race condition before effective file validation completes.

Exploit preconditions

  • Attack surface: WordPress plugin functionality for creating new players
  • Required access: An authenticated account with subscriber-level access or higher
  • Trigger point: Processing of attacker-supplied remote file content by check_mimetype
  • Additional condition: A race condition must be successfully exploited
  • Why exploitation is possible: File content may be written to the public uploads

directory before MIME and extension checks are applied, while the player-creation

workflow lacks an effective capability check

  • Attack surface: WordPress plugin functionality for creating new players
  • Required access: An authenticated account with subscriber-level access or higher
  • Trigger point: Processing of attacker-supplied remote file content by check_mimetype
  • Additional condition: A race condition must be successfully exploited
  • Why exploitation is possible: File content may be written to the public uploads

directory before MIME and extension checks are applied, while the player-creation

workflow lacks an effective capability check

Why this happens

The underlying bug is an arbitrary file upload condition mapped to CWE-434: Unrestricted Upload of File with Dangerous Type. The application stores

attacker-controlled content in a web-accessible location before completing reliable

type validation, allowing validation order and timing to become security-critical.

The affected workflow also fails to enforce authorization for new player creation,

broadening the set of users who can reach the upload behavior. If the resulting file

is executable in the hosting environment, uploaded content may be interpreted as

server-side code.

The underlying bug is an arbitrary file upload condition mapped to CWE-434: Unrestricted Upload of File with Dangerous Type. The application stores

attacker-controlled content in a web-accessible location before completing reliable

type validation, allowing validation order and timing to become security-critical.

The affected workflow also fails to enforce authorization for new player creation,

broadening the set of users who can reach the upload behavior. If the resulting file

is executable in the hosting environment, uploaded content may be interpreted as

server-side code.

Potential impact

  • An attacker may upload files containing executable content
  • The web server may execute an uploaded file under suitable hosting conditions
  • Application data and WordPress content could be modified or exposed
  • Server-side credentials or connected services could be placed at risk
  • The compromised site could be used for persistence, malware distribution, or lateral movement
  • An attacker may upload files containing executable content
  • The web server may execute an uploaded file under suitable hosting conditions
  • Application data and WordPress content could be modified or exposed
  • Server-side credentials or connected services could be placed at risk
  • The compromised site could be used for persistence, malware distribution, or lateral movement

General mitigation guidance

Mitigation generally focuses on enforcing authorization and treating every uploaded

object as untrusted.

Common defensive patterns include:

  • Require an explicit capability appropriate to player creation and file upload
  • Validate file content, filename, extension, and declared MIME type before writing it
  • Use an allowlist of non-executable formats rather than blocklists
  • Avoid fetching remote content directly into public upload paths
  • Store uploads outside executable web roots where practical
  • Disable script execution in upload directories
  • Use randomized server-side filenames and restrict file permissions
  • Apply size, redirect, and network policies to remote file retrieval
  • Run WordPress and its hosting components with least privilege
  • Preserve atomic validation and storage behavior so incomplete checks cannot expose files

Mitigation generally focuses on enforcing authorization and treating every uploaded

object as untrusted.

Common defensive patterns include:

  • Require an explicit capability appropriate to player creation and file upload
  • Validate file content, filename, extension, and declared MIME type before writing it
  • Use an allowlist of non-executable formats rather than blocklists
  • Avoid fetching remote content directly into public upload paths
  • Store uploads outside executable web roots where practical
  • Disable script execution in upload directories
  • Use randomized server-side filenames and restrict file permissions
  • Apply size, redirect, and network policies to remote file retrieval
  • Run WordPress and its hosting components with least privilege
  • Preserve atomic validation and storage behavior so incomplete checks cannot expose files

How teams detect issues like this

Detection approaches may include:

  • Static analysis for file writes that occur before MIME, extension, and content validation
  • Review of upload handlers for missing capability or nonce checks
  • Code review signals involving remote URL retrieval followed by writes to public directories
  • Tests that submit mismatched, polyglot, and executable-looking file content
  • Web-server monitoring for unusual new files or script requests under upload paths
  • Policy enforcement that prohibits executable file types and script execution in media directories
  • Automated security scanning and pull-request review tools to identify upload and authorization flaws

Detection approaches may include:

  • Static analysis for file writes that occur before MIME, extension, and content validation
  • Review of upload handlers for missing capability or nonce checks
  • Code review signals involving remote URL retrieval followed by writes to public directories
  • Tests that submit mismatched, polyglot, and executable-looking file content
  • Web-server monitoring for unusual new files or script requests under upload paths
  • Policy enforcement that prohibits executable file types and script execution in media directories
  • Automated security scanning and pull-request review tools to identify upload and authorization flaws

Sources

SourceLink
github.comgithub.com/foliovision/fv-wordpress-flowplayer/releases/tag/8.1.8
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/controller/editor.php#L36
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/controller/frontend.php#L1211
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/models/checker.php#L105
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/models/checker.php#L148
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/models/checker.php#L181
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/models/db-video.php#L855
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/models/db.php#L1102
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/models/db.php#L1173
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/fv-player/trunk/models/db.php#L46
wordfence.comwordfence.com/threat-intel/vulnerabilities/id/5c75cb7b-1ebe-411c-8664-848d741e40d4?source=cve

Frequently asked

questions

Authenticated users with subscriber-level access or higher may be able to reach the

affected workflow, although successful exploitation also requires winning the relevant

race condition and meeting the deployment's execution conditions.

No. Remote code execution depends on whether executable content is accepted, whether it

is stored in a reachable location, and whether the web server or runtime executes it.

Enforce capability checks before processing the request, validate file content before

storage, and keep uploaded content in a non-executable location with strict allowlists.

Treat uploads and remote files as untrusted, use atomic validation and storage workflows,

restrict upload-directory execution, and continuously test authorization and file-type

enforcement.

Authenticated users with subscriber-level access or higher may be able to reach the

affected workflow, although successful exploitation also requires winning the relevant

race condition and meeting the deployment's execution conditions.

No. Remote code execution depends on whether executable content is accepted, whether it

is stored in a reachable location, and whether the web server or runtime executes it.

Enforce capability checks before processing the request, validate file content before

storage, and keep uploaded content in a non-executable location with strict allowlists.

Treat uploads and remote files as untrusted, use atomic validation and storage workflows,

restrict upload-directory execution, and continuously test authorization and file-type

enforcement.

Find out what's already
exploitable in your codebase.