/

CVE-2016-20100

Severity:

HIGH RISK

(7.5)

Path Traversal (CWE-22) in Memphis Documents WordPress

CVE-2016-20100

Deferred

Vulnerability type

Category:

Path Traversal

CWE:

CWE-22

Impact:

Arbitrary File Read and Sensitive Information Disclosure

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

A path traversal vulnerability in the Memphis Documents Library plugin for WordPress allows unauthenticated attackers to access files outside the intended document directory. If the vulnerable image-preview functionality processes attacker-controlled paths without adequate validation, sensitive files such as WordPress configuration data may be disclosed.

A path traversal vulnerability in the Memphis Documents Library plugin for WordPress allows unauthenticated attackers to access files outside the intended document directory. If the vulnerable image-preview functionality processes attacker-controlled paths without adequate validation, sensitive files such as WordPress configuration data may be disclosed.

Affected context

The issue occurs in WordPress installations using the Memphis Documents Library plugin before the security fix associated with this vulnerability. It affects the image-preview or download functionality when the mdocs-img-preview request parameter is used to resolve a server-side file path without sufficiently restricting access to the intended storage location.

The issue occurs in WordPress installations using the Memphis Documents Library plugin before the security fix associated with this vulnerability. It affects the image-preview or download functionality when the mdocs-img-preview request parameter is used to resolve a server-side file path without sufficiently restricting access to the intended storage location.

Exploit preconditions

  • Attack surface: Publicly accessible WordPress HTTP endpoint
  • Required access: No authentication is generally required
  • Trigger point: Processing of the mdocs-img-preview parameter by the image-preview functionality
  • Why exploitation is possible: Attacker-controlled path input may be interpreted as a filesystem location without effective canonicalization and directory-boundary checks
  • Attack surface: Publicly accessible WordPress HTTP endpoint
  • Required access: No authentication is generally required
  • Trigger point: Processing of the mdocs-img-preview parameter by the image-preview functionality
  • Why exploitation is possible: Attacker-controlled path input may be interpreted as a filesystem location without effective canonicalization and directory-boundary checks

Why this happens

The vulnerability is caused by improper neutralization of path elements supplied through a request parameter. When application logic combines or resolves that input into a local filesystem path without validating the canonical result against an approved base directory, traversal sequences can escape the intended location. This behavior maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory.

The vulnerability is caused by improper neutralization of path elements supplied through a request parameter. When application logic combines or resolves that input into a local filesystem path without validating the canonical result against an approved base directory, traversal sequences can escape the intended location. This behavior maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory.

Potential impact

  • An attacker may read sensitive local files
  • WordPress configuration data and database credentials could be disclosed
  • Exposed credentials could enable database compromise or further application access
  • Application secrets, source files, or operational data may be revealed
  • Disclosure could support follow-on attacks against the hosting environment
  • An attacker may read sensitive local files
  • WordPress configuration data and database credentials could be disclosed
  • Exposed credentials could enable database compromise or further application access
  • Application secrets, source files, or operational data may be revealed
  • Disclosure could support follow-on attacks against the hosting environment

General mitigation guidance

Mitigation generally focuses on enforcing a strict filesystem trust boundary around document-preview operations.

Common defensive patterns include:

  • Resolve requested paths to canonical form before authorization decisions
  • Permit access only when the canonical path remains within an approved document directory
  • Prefer opaque document identifiers or server-side mappings over user-supplied filesystem paths
  • Reject traversal indicators, absolute paths, null bytes, and unexpected path formats as defense-in-depth
  • Apply least-privilege permissions to the web server and WordPress process
  • Keep sensitive configuration files outside web-accessible and plugin-managed directories where practical
  • Avoid exposing detailed filesystem errors or resolved paths in responses

Mitigation generally focuses on enforcing a strict filesystem trust boundary around document-preview operations.

Common defensive patterns include:

  • Resolve requested paths to canonical form before authorization decisions
  • Permit access only when the canonical path remains within an approved document directory
  • Prefer opaque document identifiers or server-side mappings over user-supplied filesystem paths
  • Reject traversal indicators, absolute paths, null bytes, and unexpected path formats as defense-in-depth
  • Apply least-privilege permissions to the web server and WordPress process
  • Keep sensitive configuration files outside web-accessible and plugin-managed directories where practical
  • Avoid exposing detailed filesystem errors or resolved paths in responses

How teams detect issues like this

Detection can combine application, host, and development controls:

  • Review code for request parameters passed into filesystem joins, open, download, or preview functions
  • Use static analysis to identify path construction lacking canonicalization and base-directory enforcement
  • Inspect web logs for unusual traversal markers, encoded path separators, repeated parent-directory segments, or requests targeting configuration files
  • Monitor unexpected reads of files outside approved document directories
  • Add security tests covering canonical-path boundary checks and encoded input variants
  • Enforce code-review policies requiring authorization after canonicalization and before file access
  • Neutral automated review tools may help identify path-handling patterns requiring manual validation

Detection can combine application, host, and development controls:

  • Review code for request parameters passed into filesystem joins, open, download, or preview functions
  • Use static analysis to identify path construction lacking canonicalization and base-directory enforcement
  • Inspect web logs for unusual traversal markers, encoded path separators, repeated parent-directory segments, or requests targeting configuration files
  • Monitor unexpected reads of files outside approved document directories
  • Add security tests covering canonical-path boundary checks and encoded input variants
  • Enforce code-review policies requiring authorization after canonicalization and before file access
  • Neutral automated review tools may help identify path-handling patterns requiring manual validation

Sources

SourceLink
github.comgithub.com/projectdiscovery/nuclei-templates/blob/main/http/vulnerabilities/wordpress/wp-memphis-documents-library-lfi.yaml
packetstorm.newspacketstorm.news/files/id/136374/
wordpress.orgwordpress.org/plugins/memphis-documents-library/
wpscan.comwpscan.com/vulnerability/53999c06-05ca-44f1-b713-1e4d6b4a3f9f
exploit-db.comexploit-db.com/exploits/39593
vulncheck.comvulncheck.com/advisories/memphis-documents-library-wordpress-plugin-3.1.6-path-traversal-via-mdocs-img-preview

Frequently asked

questions

Yes. The affected functionality is exposed through a WordPress HTTP request, and exploitation generally does not require local access when the endpoint is publicly reachable.

The described issue can be exploited without authentication. Network access to the vulnerable WordPress site is the key access requirement.

Enforce canonical-path validation against a fixed allowed directory, use server-side document identifiers, and ensure the web process cannot broadly read sensitive files.

Treat all path-related request parameters as untrusted, test encoded and alternate path forms, apply least privilege, and include path-boundary checks in static analysis and code review.

Yes. The affected functionality is exposed through a WordPress HTTP request, and exploitation generally does not require local access when the endpoint is publicly reachable.

The described issue can be exploited without authentication. Network access to the vulnerable WordPress site is the key access requirement.

Enforce canonical-path validation against a fixed allowed directory, use server-side document identifiers, and ensure the web process cannot broadly read sensitive files.

Treat all path-related request parameters as untrusted, test encoded and alternate path forms, apply least privilege, and include path-boundary checks in static analysis and code review.

Find out what's already
exploitable in your codebase.