/

CVE-2026-116898

Severity:

HIGH RISK

(7.1)

Missing Authorization (CWE-639) in REDAXO Media Pool

CVE-2026-116898

Deferred

Vulnerability type

Category:

Missing Authorization

CWE:

CWE-639

Impact:

Unauthorized media modification and site-wide content tampering

Severity:

HIGH RISK

(7.1)

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

REDAXO contains a missing authorization check in the media pool bulk-move function. An authenticated backend user who can access one media category may move files from restricted categories into it and replace their contents across the site.

REDAXO contains a missing authorization check in the media pool bulk-move function. An authenticated backend user who can access one media category may move files from restricted categories into it and replace their contents across the site.

Affected context

The issue affects REDAXO deployments using the media pool bulk-move feature where authorization is evaluated only for the destination category. The source category's permissions may not be checked, allowing a user with limited media-category access to act on files stored in categories they cannot otherwise manage. The affected behavior is present in REDAXO versions before 5.21.4.

The issue affects REDAXO deployments using the media pool bulk-move feature where authorization is evaluated only for the destination category. The source category's permissions may not be checked, allowing a user with limited media-category access to act on files stored in categories they cannot otherwise manage. The affected behavior is present in REDAXO versions before 5.21.4.

Exploit preconditions

  • Attack surface: Authenticated REDAXO backend media-management functionality
  • Required access: A valid backend account with permission to manage at least one media category
  • Trigger point: Bulk-moving media files into an authorized destination category
  • Why exploitation is possible: The operation validates destination-category access while failing to verify authorization for the source category and its files
  • Attack surface: Authenticated REDAXO backend media-management functionality
  • Required access: A valid backend account with permission to manage at least one media category
  • Trigger point: Bulk-moving media files into an authorized destination category
  • Why exploitation is possible: The operation validates destination-category access while failing to verify authorization for the source category and its files

Why this happens

The underlying defect is an incomplete authorization decision in a resource transfer operation. The application checks whether the user may write to the target category but does not independently verify whether the user may read, move, or modify resources in the source category. This maps to CWE-639, Authorization Bypass Through User-Controlled Key, because an attacker can influence the category or resource identifier used by the operation without an equivalent authorization check on the referenced source object.

The underlying defect is an incomplete authorization decision in a resource transfer operation. The application checks whether the user may write to the target category but does not independently verify whether the user may read, move, or modify resources in the source category. This maps to CWE-639, Authorization Bypass Through User-Controlled Key, because an attacker can influence the category or resource identifier used by the operation without an equivalent authorization check on the referenced source object.

Potential impact

  • An attacker may move files out of restricted media categories.
  • Restricted media content could be replaced or altered across the site.
  • Public pages may display attacker-controlled or unauthorized files.
  • Content integrity and editorial workflows could be disrupted.
  • The issue could contribute to reputational or operational damage.
  • An attacker may move files out of restricted media categories.
  • Restricted media content could be replaced or altered across the site.
  • Public pages may display attacker-controlled or unauthorized files.
  • Content integrity and editorial workflows could be disrupted.
  • The issue could contribute to reputational or operational damage.

General mitigation guidance

Mitigation should apply authorization checks to every object and category

involved in a bulk operation, rather than relying only on destination

permissions.

Common defensive patterns include:

  • Enforcing source-category read, move, and modification permissions for each selected file.
  • Rechecking authorization server-side for every bulk-operation identifier.
  • Using centralized, deny-by-default authorization policies.
  • Avoiding trust in client-supplied category or media identifiers.
  • Preserving least privilege for backend roles and separating media-management duties.
  • Recording and reviewing bulk media actions for accountability.

Mitigation should apply authorization checks to every object and category

involved in a bulk operation, rather than relying only on destination

permissions.

Common defensive patterns include:

  • Enforcing source-category read, move, and modification permissions for each selected file.
  • Rechecking authorization server-side for every bulk-operation identifier.
  • Using centralized, deny-by-default authorization policies.
  • Avoiding trust in client-supplied category or media identifiers.
  • Preserving least privilege for backend roles and separating media-management duties.
  • Recording and reviewing bulk media actions for accountability.

How teams detect issues like this

Detection can include:

  • Static analysis for authorization checks that validate only destination resources.
  • Code review of bulk, move, copy, rename, and import handlers for per-object permission enforcement.
  • Tests that attempt cross-category operations using accounts with destination-only permissions.
  • Monitoring audit logs for media moves involving categories outside a user's normal scope.
  • Policy enforcement requiring authorization decisions to occur server-side before each state-changing operation.

Automated security review tools may help identify inconsistent access-control paths, but should be supplemented with authorization-focused tests.

Detection can include:

  • Static analysis for authorization checks that validate only destination resources.
  • Code review of bulk, move, copy, rename, and import handlers for per-object permission enforcement.
  • Tests that attempt cross-category operations using accounts with destination-only permissions.
  • Monitoring audit logs for media moves involving categories outside a user's normal scope.
  • Policy enforcement requiring authorization decisions to occur server-side before each state-changing operation.

Automated security review tools may help identify inconsistent access-control paths, but should be supplemented with authorization-focused tests.

Sources

SourceLink
github.comgithub.com/redaxo/core/security/advisories/GHSA-j9mx-x52f-48cw
vulncheck.comvulncheck.com/advisories/redaxo-before-5.21.4-missing-authorization-in-media-pool-bulk-move

Frequently asked

questions

Exploitation generally requires an authenticated backend account with permission to manage at least one media category. The account does not necessarily need permission for the restricted source category.

It can be triggered through the application's backend interface over the network when the attacker has valid credentials and the media pool feature is accessible.

Check authorization for both the source category and every selected media object, as well as the destination, before performing the operation.

Use centralized deny-by-default authorization, avoid trusting client-controlled identifiers, test cross-tenant or cross-category operations, and audit bulk state-changing actions.

Exploitation generally requires an authenticated backend account with permission to manage at least one media category. The account does not necessarily need permission for the restricted source category.

It can be triggered through the application's backend interface over the network when the attacker has valid credentials and the media pool feature is accessible.

Check authorization for both the source category and every selected media object, as well as the destination, before performing the operation.

Use centralized deny-by-default authorization, avoid trusting client-controlled identifiers, test cross-tenant or cross-category operations, and audit bulk state-changing actions.

Find out what's already
exploitable in your codebase.