/

CVE-2026-89301

Severity:

HIGH RISK

(7.5)

Path Traversal File Deletion (CWE-862) in rtMedia Plugin

CVE-2026-89301

Deferred

Vulnerability type

Category:

Improper Authorization

CWE:

CWE-862

Impact:

Unauthorized File Deletion

Severity:

HIGH RISK

(7.5)

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

The rtMedia WordPress plugin has insufficient authorization and file path validation in its file-processing workflow, allowing unauthenticated attackers to delete certain arbitrary files on the server. The risk arises when the vulnerable endpoint accepts attacker-controlled file references and exposes a usable frontend nonce without requiring prior authentication.

The rtMedia WordPress plugin has insufficient authorization and file path validation in its file-processing workflow, allowing unauthenticated attackers to delete certain arbitrary files on the server. The risk arises when the vulnerable endpoint accepts attacker-controlled file references and exposes a usable frontend nonce without requiring prior authentication.

Affected context

The issue occurs in rtMedia deployments using the plugin's gallery or upload shortcode and its file-processing functionality. Frontend pages can expose the rtmedia_upload_nonce value to unauthenticated visitors, while insufficient validation of submitted file paths may allow deletion of files outside the intended upload location. The practical impact depends on filesystem permissions and which files are considered safe for deletion.

The issue occurs in rtMedia deployments using the plugin's gallery or upload shortcode and its file-processing functionality. Frontend pages can expose the rtmedia_upload_nonce value to unauthenticated visitors, while insufficient validation of submitted file paths may allow deletion of files outside the intended upload location. The practical impact depends on filesystem permissions and which files are considered safe for deletion.

Exploit preconditions

  • Attack surface: The publicly reachable rtMedia upload or gallery workflow

in a WordPress site.

  • Required access: No authenticated account is necessarily required; an

unauthenticated visitor may obtain the frontend nonce.

  • Trigger point: File processing that handles a user-controlled file

reference or path.

  • Why exploitation is possible: The workflow does not sufficiently authorize

the deletion operation or constrain the resolved path to the intended

storage area.

  • Attack surface: The publicly reachable rtMedia upload or gallery workflow

in a WordPress site.

  • Required access: No authenticated account is necessarily required; an

unauthenticated visitor may obtain the frontend nonce.

  • Trigger point: File processing that handles a user-controlled file

reference or path.

  • Why exploitation is possible: The workflow does not sufficiently authorize

the deletion operation or constrain the resolved path to the intended

storage area.

Why this happens

The underlying bug combines insufficient authorization with inadequate file path validation. A deletion routine accepts input associated with a client request without reliably proving that the requester is permitted to delete the target or that the target remains within an approved directory. This behavior maps to CWE-862, Improper Authorization, because a security-sensitive file operation can be reached without an effective authorization decision. Publicly emitted nonce values further weaken the assumption that possession of the request token represents authenticated user authority.

The underlying bug combines insufficient authorization with inadequate file path validation. A deletion routine accepts input associated with a client request without reliably proving that the requester is permitted to delete the target or that the target remains within an approved directory. This behavior maps to CWE-862, Improper Authorization, because a security-sensitive file operation can be reached without an effective authorization decision. Publicly emitted nonce values further weaken the assumption that possession of the request token represents authenticated user authority.

Potential impact

  • An attacker may delete selected files that the web server can access.
  • The plugin or surrounding WordPress application could experience

availability issues.

  • Application content, media, or configuration-related files could be removed.
  • Repeated abuse could cause data loss or disrupt site functionality.
  • The affected site could require recovery from backups or other trusted copies.
  • An attacker may delete selected files that the web server can access.
  • The plugin or surrounding WordPress application could experience

availability issues.

  • Application content, media, or configuration-related files could be removed.
  • Repeated abuse could cause data loss or disrupt site functionality.
  • The affected site could require recovery from backups or other trusted copies.

General mitigation guidance

Mitigation generally focuses on making file deletion explicitly authorized and limiting all file references to controlled storage locations. Secure patterns include performing server-side ownership and capability checks, resolving and canonicalizing paths before enforcing directory boundaries, allowing deletion only through opaque server-managed identifiers, and rejecting symlinks or paths that escape approved roots. Nonces should complement, rather than replace, authentication and authorization. File operations should run with the least filesystem privilege possible, and sensitive application files should not be writable or removable by the web process where feasible. Logging, rate limits, and recoverable backups can reduce the consequences of misuse.

Mitigation generally focuses on making file deletion explicitly authorized and limiting all file references to controlled storage locations. Secure patterns include performing server-side ownership and capability checks, resolving and canonicalizing paths before enforcing directory boundaries, allowing deletion only through opaque server-managed identifiers, and rejecting symlinks or paths that escape approved roots. Nonces should complement, rather than replace, authentication and authorization. File operations should run with the least filesystem privilege possible, and sensitive application files should not be writable or removable by the web process where feasible. Logging, rate limits, and recoverable backups can reduce the consequences of misuse.

How teams detect issues like this

Detection approaches include static analysis for file deletion APIs receiving request parameters, missing canonical-path checks, and authorization checks that rely solely on nonce validation. Code review should examine every path from upload, gallery, and shortcode handlers to filesystem operations, with particular attention to public nonce generation and capability enforcement. Runtime monitoring can alert on unusual deletion requests, repeated failures, or removals outside designated media directories. CI and policy checks can require approved path-handling utilities and explicit authorization before destructive operations; automated security review tools may help identify these patterns.

Detection approaches include static analysis for file deletion APIs receiving request parameters, missing canonical-path checks, and authorization checks that rely solely on nonce validation. Code review should examine every path from upload, gallery, and shortcode handlers to filesystem operations, with particular attention to public nonce generation and capability enforcement. Runtime monitoring can alert on unusual deletion requests, repeated failures, or removals outside designated media directories. CI and policy checks can require approved path-handling utilities and explicit authorization before destructive operations; automated security review tools may help identify these patterns.

Sources

SourceLink
github.comgithub.com/rtCamp/rtMedia/releases/tag/4.7.14
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/buddypress-media/tags/4.7.13/app/main/controllers/shortcodes/RTMediaGalleryShortcode.php#L151
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/buddypress-media/tags/4.7.13/app/main/controllers/upload/RTMediaUploadEndpoint.php#L85
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/buddypress-media/tags/4.7.13/app/main/controllers/upload/RTMediaUploadModel.php#L49
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/buddypress-media/tags/4.7.13/app/main/controllers/upload/processors/RTMediaUploadFile.php#L180
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/buddypress-media/tags/4.7.13/app/main/controllers/upload/processors/RTMediaUploadFile.php#L253
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/buddypress-media/tags/4.7.13/app/main/controllers/upload/processors/RTMediaUploadFile.php#L91
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/buddypress-media/tags/4.7.13/app/main/routers/RTMediaRouter.php#L120
wordfence.comwordfence.com/threat-intel/vulnerabilities/id/ea679227-5ab3-408b-ae1b-340099880789?source=cve

Frequently asked

questions

Yes. A remote attacker may be able to reach the relevant WordPress workflow

over HTTP without logging in, provided the site renders an affected rtMedia

gallery or upload shortcode and filesystem permissions allow the operation.

Not necessarily. The upload nonce is exposed in frontend JavaScript to

unauthenticated visitors, so possession of the nonce may not imply that the

requester has permission to delete files.

Require an explicit server-side authorization decision and accept only

server-controlled file identifiers or paths confined to an approved directory.

Treat nonce validation as an additional request-integrity control, not as an

authorization mechanism.

Apply least privilege to web processes, centralize safe path handling, review

destructive filesystem operations, restrict public configuration and nonce

exposure where possible, and monitor or test unauthenticated file-operation

paths during development and deployment.

Yes. A remote attacker may be able to reach the relevant WordPress workflow

over HTTP without logging in, provided the site renders an affected rtMedia

gallery or upload shortcode and filesystem permissions allow the operation.

Not necessarily. The upload nonce is exposed in frontend JavaScript to

unauthenticated visitors, so possession of the nonce may not imply that the

requester has permission to delete files.

Require an explicit server-side authorization decision and accept only

server-controlled file identifiers or paths confined to an approved directory.

Treat nonce validation as an additional request-integrity control, not as an

authorization mechanism.

Apply least privilege to web processes, centralize safe path handling, review

destructive filesystem operations, restrict public configuration and nonce

exposure where possible, and monitor or test unauthenticated file-operation

paths during development and deployment.

Find out what's already
exploitable in your codebase.