CVE-2026-108981
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.)
CVE-2026-108981
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-108981
ngx_cache_purge
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://github.com/nginx-modules/ngx_cache_purge",
"vendor": "denji",
"modules": [
"purge_all",
"partial/wildcard key purge",
"asynchronous purge queue",
"vary-aware variant deletion"
],
"product": "ngx_cache_purge",
"versions": [
{
"status": "affected",
"version": "2.4.0",
"versionType": "semver",
"lessThanOrEqual": "2.5.6"
},
{
"status": "affected",
"version": "3.0.0",
"lessThan": "3.0.4",
"versionType": "semver"
}
],
"programFiles": [
"ngx_cache_purge_module.c"
],
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "ngx_http_cache_purge_all"
},
{
"name": "ngx_http_cache_purge_partial"
},
{
"name": "ngx_http_cache_purge_process_queue"
},
{
"name": "ngx_http_cache_purge_delete_variants"
}
]
}
]- Related CVEs
- CVE-2026-108981
Source reference:
/cveMetadata/cveId
Publisher severity
low
Source reference: /containers/cna/metrics
- Event
- #22820 · Revision 1
- Added to Heist Feed
- Publisher date