CVE-2026-108981
Received Received - Intake

Symlink Attack in ngx_cache_purge Module

Vulnerability report for CVE-2026-108981, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-12

Last updated on: 2026-10-12

Assigner: MITRE

Description

ngx_cache_purge before 3.0.4 can allow file deletion via a symlink attack in certain situations where nginx and a served application (e.g., WordPress) run under the same user account. The attacker must be able to create a symlink inside the cache path. Version 3.0.4 fixes this for the case of a symlink created at an arbitrary earlier time, but does not resolve an applicable TOCTOU race condition. (The ngx_cache_purge module follows symlinks while walking the cache directory tree during purge operations. The module relies on nginx's ngx_walk_tree(), which relies on stat() and therefore follows symlinks.)

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-12
Last Modified
2026-10-12
Generated
2026-10-12
AI Q&A
2026-10-12
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
denji ngx_cache_purge 2.4.0
denji ngx_cache_purge 3.0.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-61 The product, when opening a file or directory, does not sufficiently account for when the file is a symbolic link that resolves to a target outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in ngx_cache_purge before 3.0.4 allows file deletion via a symlink attack. If nginx and a served application run under the same user, an attacker who can create a symlink inside the cache path can trick the module into deleting files outside the intended cache directory during purge operations. The module follows symlinks while walking the cache tree, relying on nginx's stat() function which follows symlinks.

Detection Guidance

Check if ngx_cache_purge versions before 3.0.4 are installed using package managers like apt or yum. Inspect nginx configuration for cache purge directives. Manually verify cache directories for unexpected symlinks pointing outside the intended path.

Impact Analysis

An attacker could exploit this to delete critical files on your system if they have access to create symlinks in the cache directory. This could lead to data loss, service disruption, or unauthorized access to sensitive information, depending on which files are deleted. The impact depends on the privileges of the nginx worker process.

Compliance Impact

This vulnerability could lead to unauthorized file deletion or data exposure, potentially violating GDPR's integrity principle or HIPAA's integrity and availability requirements. Compliance may be impacted if sensitive data is deleted or exposed due to the flaw.

Mitigation Strategies

Upgrade ngx_cache_purge to version 3.0.4 or later immediately. Review and restrict write permissions on cache directories to prevent symlink creation. Monitor purge operations for unauthorized file deletions.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-108981. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart