Skip to content
Heist/ feed
Low

CVE-2026-108981

Type: advisorySource: Official CVE List1 source record

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

Announced Source revision 1
Original source ↗

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
Read the original announcement