/

CVE-2026-92812

Severity:

CRITICAL RISK

(9.8)

Path Traversal (CWE-22) in Decap CMS Local Proxy

CVE-2026-92812

Deferred

Vulnerability type

Category:

Path Traversal

CWE:

CWE-22

Impact:

Unauthorized File Access and Modification

Severity:

CRITICAL RISK

(9.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

A path traversal vulnerability in Decap CMS's local proxy containment guard allows paths outside the intended repository root to bypass boundary checks.

An attacker who can interact with the affected local proxy may read, modify, or delete files in sibling directories whose names share the repository directory's string prefix.

A path traversal vulnerability in Decap CMS's local proxy containment guard allows paths outside the intended repository root to bypass boundary checks.

An attacker who can interact with the affected local proxy may read, modify, or delete files in sibling directories whose names share the repository directory's string prefix.

Affected context

This issue occurs in Decap CMS deployments using the local proxy before version 3.11.0, where repository paths are checked using plain string-prefix comparisons. The risk is present when a sibling directory begins with the same characters as the intended repository directory and the proxy permits requests that resolve outside the repository boundary.

This issue occurs in Decap CMS deployments using the local proxy before version 3.11.0, where repository paths are checked using plain string-prefix comparisons. The risk is present when a sibling directory begins with the same characters as the intended repository directory and the proxy permits requests that resolve outside the repository boundary.

Exploit preconditions

  • Attack surface: Decap CMS local proxy file-handling functionality
  • Required access: Ability to send requests to or otherwise interact with the affected proxy
  • Trigger point: A file operation involving a path whose textual prefix resembles the permitted repository path
  • Why exploitation is possible: The containment guard compares strings without requiring a valid path-separator boundary, allowing sibling paths to be treated as descendants of the repository root
  • Attack surface: Decap CMS local proxy file-handling functionality
  • Required access: Ability to send requests to or otherwise interact with the affected proxy
  • Trigger point: A file operation involving a path whose textual prefix resembles the permitted repository path
  • Why exploitation is possible: The containment guard compares strings without requiring a valid path-separator boundary, allowing sibling paths to be treated as descendants of the repository root

Why this happens

The underlying bug is an improper path-boundary check. A plain string-prefix comparison can consider a sibling path such as a similarly named directory to be inside the approved repository, even though its normalized filesystem location is outside that root.

This behavior maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, because the application fails to reliably constrain filesystem operations to the intended directory.

The underlying bug is an improper path-boundary check. A plain string-prefix comparison can consider a sibling path such as a similarly named directory to be inside the approved repository, even though its normalized filesystem location is outside that root.

This behavior maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, because the application fails to reliably constrain filesystem operations to the intended directory.

Potential impact

  • An attacker may read files outside the intended repository
  • An attacker could modify or delete files in sibling directories
  • Repository contents or local configuration data may be exposed
  • File integrity and local service availability may be affected
  • In some environments, modified files could contribute to broader compromise
  • An attacker may read files outside the intended repository
  • An attacker could modify or delete files in sibling directories
  • Repository contents or local configuration data may be exposed
  • File integrity and local service availability may be affected
  • In some environments, modified files could contribute to broader compromise

General mitigation guidance

Mitigation generally focuses on enforcing filesystem-aware containment rather than relying on textual comparisons.

Common defensive patterns include:

  • Resolve and normalize both the requested path and repository root before comparison
  • Require a path-separator-aware relationship or use trusted filesystem containment APIs
  • Reject traversal segments, symlink escapes, and paths that resolve outside the approved root
  • Reduce trust in client-supplied path components and construct paths from controlled identifiers
  • Run the proxy with least-privilege filesystem permissions and limit access to only required directories
  • Prefer secure-by-default configurations that disable local file operations when they are unnecessary

Mitigation generally focuses on enforcing filesystem-aware containment rather than relying on textual comparisons.

Common defensive patterns include:

  • Resolve and normalize both the requested path and repository root before comparison
  • Require a path-separator-aware relationship or use trusted filesystem containment APIs
  • Reject traversal segments, symlink escapes, and paths that resolve outside the approved root
  • Reduce trust in client-supplied path components and construct paths from controlled identifiers
  • Run the proxy with least-privilege filesystem permissions and limit access to only required directories
  • Prefer secure-by-default configurations that disable local file operations when they are unnecessary

How teams detect issues like this

Organizations can look for:

  • Static analysis findings involving raw string-prefix checks for filesystem containment
  • Code review signals such as concatenating user-controlled paths before normalization
  • Missing canonicalization, separator-boundary checks, symlink handling, or root containment tests
  • Tests covering similarly prefixed sibling directories, nested paths, traversal segments, and symbolic links
  • Policy rules requiring approved path-resolution and filesystem-access abstractions
  • Automated security review tools configured to identify CWE-22 path-handling patterns

Organizations can look for:

  • Static analysis findings involving raw string-prefix checks for filesystem containment
  • Code review signals such as concatenating user-controlled paths before normalization
  • Missing canonicalization, separator-boundary checks, symlink handling, or root containment tests
  • Tests covering similarly prefixed sibling directories, nested paths, traversal segments, and symbolic links
  • Policy rules requiring approved path-resolution and filesystem-access abstractions
  • Automated security review tools configured to identify CWE-22 path-handling patterns

Sources

SourceLink
github.comgithub.com/decaporg/decap-cms/releases?page=2#release-decap-cms@3.11.0
github.comgithub.com/decaporg/decap-cms/security/advisories/GHSA-5rrq-v82w-qpfr
github.comgithub.com/geo-chen/oss/blob/main/decap-cms.md
vulncheck.comvulncheck.com/advisories/decap-cms-path-traversal-via-sibling-directory-prefix-matching

Frequently asked

questions

Exploitability depends on how the local proxy is exposed. It is most concerning when an attacker can reach the proxy or control requests that cause filesystem operations.

Authentication requirements depend on the deployment and proxy configuration. Any identity permitted to use the affected file-handling functionality may be relevant.

Use canonical, filesystem-aware path resolution and verify that the resulting path is contained within the intended repository root, including a valid path-separator boundary.

Treat path components as untrusted input, centralize safe path handling, test boundary and symlink cases, and run file-processing services with least-privilege access.

Exploitability depends on how the local proxy is exposed. It is most concerning when an attacker can reach the proxy or control requests that cause filesystem operations.

Authentication requirements depend on the deployment and proxy configuration. Any identity permitted to use the affected file-handling functionality may be relevant.

Use canonical, filesystem-aware path resolution and verify that the resulting path is contained within the intended repository root, including a valid path-separator boundary.

Treat path components as untrusted input, centralize safe path handling, test boundary and symlink cases, and run file-processing services with least-privilege access.

Find out what's already
exploitable in your codebase.