/

CVE-2026-113606

Severity:

HIGH RISK

(7.1)

Authorization Bypass (CWE-639) in Stirling-PDF Storage

CVE-2026-113606

Deferred

Vulnerability type

Category:

Authorization Bypass

CWE:

CWE-639

Impact:

Unauthorized access, modification, or destruction of stored files

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

Stirling-PDF contains an authorization bypass that may allow an authenticated user to access files belonging to another user by directing processing operations at that user's storage directory. If storage paths are accepted without verifying ownership, attackers could list, read, modify, or delete other users' files.

Stirling-PDF contains an authorization bypass that may allow an authenticated user to access files belonging to another user by directing processing operations at that user's storage directory. If storage paths are accepted without verifying ownership, attackers could list, read, modify, or delete other users' files.

Affected context

The issue may arise in Stirling-PDF deployments where authenticated users can create processing folders and supply a server-side storage path associated with another user. Risk is increased when folder creation, file listing, and pipeline execution do not enforce ownership checks for the targeted storage location.

The issue may arise in Stirling-PDF deployments where authenticated users can create processing folders and supply a server-side storage path associated with another user. Risk is increased when folder creation, file listing, and pipeline execution do not enforce ownership checks for the targeted storage location.

Exploit preconditions

  • Attack surface: Authenticated processing-folder and pipeline API functionality
  • Required access: A valid authenticated user account with permission to invoke the relevant endpoints
  • Trigger point: Creating or selecting a processing folder that resolves to another user's storage directory
  • Why exploitation is possible: Authorization is not sufficiently bound to the authenticated user's storage identity, allowing user-controlled path selection to cross ownership boundaries
  • Attack surface: Authenticated processing-folder and pipeline API functionality
  • Required access: A valid authenticated user account with permission to invoke the relevant endpoints
  • Trigger point: Creating or selecting a processing folder that resolves to another user's storage directory
  • Why exploitation is possible: Authorization is not sufficiently bound to the authenticated user's storage identity, allowing user-controlled path selection to cross ownership boundaries

Why this happens

The underlying flaw is an authorization decision that relies on a user-controlled storage reference without consistently verifying that the referenced directory belongs to the requesting user. This represents CWE-639: Authorization Bypass Through User-Controlled Key, where an identifier or path used to select a protected resource is accepted without an effective ownership or access-control check.

The underlying flaw is an authorization decision that relies on a user-controlled storage reference without consistently verifying that the referenced directory belongs to the requesting user. This represents CWE-639: Authorization Bypass Through User-Controlled Key, where an identifier or path used to select a protected resource is accepted without an effective ownership or access-control check.

Potential impact

  • Authenticated users may access files belonging to other users
  • Sensitive documents may be disclosed or exfiltrated
  • Victims' files could be modified or replaced
  • Stored files may be deleted or corrupted
  • Document-processing workflows could be abused for cross-account data manipulation
  • Authenticated users may access files belonging to other users
  • Sensitive documents may be disclosed or exfiltrated
  • Victims' files could be modified or replaced
  • Stored files may be deleted or corrupted
  • Document-processing workflows could be abused for cross-account data manipulation

General mitigation guidance

Mitigation generally focuses on enforcing server-side authorization for every storage operation.

Common defensive patterns include:

  • Derive storage locations from the authenticated server-side identity rather than accepting arbitrary user-controlled paths
  • Enforce ownership and tenant-boundary checks before folder creation, listing, reading, writing, or deletion
  • Apply canonical path validation and restrict resolution to an approved per-user storage root
  • Use deny-by-default access policies for storage and processing APIs
  • Run processing services with only the filesystem permissions they require
  • Avoid exposing predictable internal user identifiers as sufficient authorization references

Mitigation generally focuses on enforcing server-side authorization for every storage operation.

Common defensive patterns include:

  • Derive storage locations from the authenticated server-side identity rather than accepting arbitrary user-controlled paths
  • Enforce ownership and tenant-boundary checks before folder creation, listing, reading, writing, or deletion
  • Apply canonical path validation and restrict resolution to an approved per-user storage root
  • Use deny-by-default access policies for storage and processing APIs
  • Run processing services with only the filesystem permissions they require
  • Avoid exposing predictable internal user identifiers as sufficient authorization references

How teams detect issues like this

Organizations can look for:

  • Static analysis patterns where request parameters or path components are used to construct filesystem locations
  • Code review signals showing missing ownership checks around file and folder operations
  • Tests that attempt cross-user access using valid accounts and alternate identifiers
  • Runtime monitoring for requests targeting storage paths outside the authenticated user's assigned root
  • Policy enforcement requiring explicit authorization checks before every read, write, list, rename, and delete operation

Automated application-security testing and access-control review tools may help identify these boundary violations.

Organizations can look for:

  • Static analysis patterns where request parameters or path components are used to construct filesystem locations
  • Code review signals showing missing ownership checks around file and folder operations
  • Tests that attempt cross-user access using valid accounts and alternate identifiers
  • Runtime monitoring for requests targeting storage paths outside the authenticated user's assigned root
  • Policy enforcement requiring explicit authorization checks before every read, write, list, rename, and delete operation

Automated application-security testing and access-control review tools may help identify these boundary violations.

Sources

SourceLink
abraxaslabs.techabraxaslabs.tech/research/stirling-pdf-3.2.0-leftovers
abraxaslabs.techabraxaslabs.tech/research/stirling-storage-folder-idor
github.comgithub.com/Stirling-Tools/Stirling-PDF/blob/v3.2.0/app/proprietary/src/main/java/stirling/software/proprietary/policy/config/FolderAccessGuard.java
github.comgithub.com/Stirling-Tools/Stirling-PDF/blob/v3.2.0/app/proprietary/src/main/java/stirling/software/proprietary/policy/controller/ProcessingFolderController.java
github.comgithub.com/abraxas/stirling-storage-folder-idor
vulncheck.comvulncheck.com/advisories/stirling-pdf-3.0.0-through-3.2.0-authorization-bypass-via-processing-folders

Frequently asked

questions

It may be exploitable through the application's API by an authenticated user, provided the deployment exposes the affected processing functionality.

Yes, the described attack requires a valid authenticated account capable of creating processing folders or running pipelines.

Enforce server-side ownership checks and derive storage paths from the authenticated identity instead of trusting client-supplied storage locations.

Use deny-by-default authorization, isolate per-user storage roots, canonicalize paths, and include cross-account access tests in application security reviews.

It may be exploitable through the application's API by an authenticated user, provided the deployment exposes the affected processing functionality.

Yes, the described attack requires a valid authenticated account capable of creating processing folders or running pipelines.

Enforce server-side ownership checks and derive storage paths from the authenticated identity instead of trusting client-supplied storage locations.

Use deny-by-default authorization, isolate per-user storage roots, canonicalize paths, and include cross-account access tests in application security reviews.

Find out what's already
exploitable in your codebase.