CVE-2026-108981 Path traversal in ngx cache purge
Attackers can delete arbitrary files via symlink attacks in ngx_cache_purge when nginx and applications share user permissions.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-108981?
CVE-2026-108981 is a low-severity path traversal vulnerability in denji ngx_cache_purge, published on 12 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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.)
Weakness: CWE-61
Which versions are affected by CVE-2026-108981?
How do I fix CVE-2026-108981?
Apply the vendor's patch.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-108981 being exploited?
There is no known exploitation of CVE-2026-108981 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2026-108981, GHSA-5fhq-3m7h-fqv8, UBUNTU-CVE-2026-108981.