CVE-2026-108981 Path traversal in ngx cache purge

Low 3.6 Published Updated

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.

Is CVE-2026-108981 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free