Every CVE Search/ Get API key

CVE-2026-108981

ngx_cache_purge before 3.0.4 can allow file deletion via a symlink attack in certain situations...

3.6 LowFix available

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

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
Low

Exploit likelihood

0.16%Unchanged since Oct 12, 2026
90%50%10%1%

What each source reports

CVE List Score used 3.6

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

Record
CVE-2026-108981
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Weakness
CWE-61
Updated
2026-11-02
EUVDEUVD-2026-97159 3.6

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

Record
EUVD-2026-97159
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-5fhq-3m7h-fqv8 3.6

ngx_cache_purge before 3.0.4 can allow file deletion via a symlink attack in certain situations...

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

Record
GHSA-5fhq-3m7h-fqv8
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Weakness
CWE-61
Updated
2026-11-02
NVD 3.6

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

Record
CVE-2026-108981
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Weakness
CWE-61
Updated
2026-11-02
OSV 3.6

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

Record
CVE-2026-108981
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Weakness
CWE-61
Updated
2026-11-02
OSVDEBIAN-CVE-2026-108981 3.6

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

Record
DEBIAN-CVE-2026-108981
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2026-108981 3.6

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

Record
UBUNTU-CVE-2026-108981
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
libnginx-mod-http-cache-purge
Debian:12
All versions, plus listed versions
1:2.3-41:2.3-51:2.3-5~exp11:2.3-61:2.5.3-1
Show 9 moreShow less
1:2.5.3-21:2.5.3-31:2.5.3-41:2.5.4-11:2.5.5-11:2.5.6-11:3.0.2-11:3.0.3-11:3.0.4-1
None known
libnginx-mod-http-cache-purge
Debian:13
All versions, plus listed versions
1:2.5.3-31:2.5.3-41:2.5.4-11:2.5.5-11:2.5.6-11:3.0.2-11:3.0.3-11:3.0.4-1
None known
libnginx-mod-http-cache-purge
Debian:14
before 1:3.0.4-1, plus listed versions
1:2.5.3-31:2.5.3-41:2.5.4-11:2.5.5-11:2.5.6-11:3.0.2-11:3.0.3-1
1:3.0.4-1
libnginx-mod-http-cache-purge
Ubuntu:24.04:LTS
All versions, plus listed versions
1:2.3-51:2.3-61:2.3-6build2
None known
libnginx-mod-http-cache-purge
Ubuntu:26.10
All versions, plus listed versions
1:2.5.5-1build21:2.5.6-1build11:3.0.2-1
None known
libnginx-mod-http-cache-purge
Ubuntu:26.04:LTS
All versions, plus listed versions
1:2.5.3-3build11:2.5.4-11:2.5.4-1build11:2.5.5-11:2.5.5-1build11:2.5.5-1build2
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-108981 is a low vulnerability (CVSS 3.6) in Denji Ngx Cache Purge, published October 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.16%, the 5th percentile. Fixed in libnginx-mod-http-cache-purge 1:3.0.4-1.

References

Show 4 moreShow less
MoveEnter Open