---
id: CVE-2026-108981
title: >-
  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
summary: >-
  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 …
severity: low
cvss: 3.6
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L'
cwe:
  - CWE-61
published: '2026-10-12'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T03:17:18.503'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-108981'
references:
  - url: >-
      https://github.com/nginx-modules/ngx_cache_purge/commit/a6da1352f52a8a02dd6828e88c39ed42fddcee96
    label: cve@mitre.org
  - url: 'https://github.com/nginx-modules/ngx_cache_purge/pull/72'
    label: cve@mitre.org
  - url: 'https://github.com/nginx-modules/ngx_cache_purge/releases/tag/3.0.4'
    label: cve@mitre.org
tags:
  - nvd
ingestedAt: '2026-10-12T14:50:34.077Z'
---

## Overview

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.)

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
