CVE-2025-14727

8.3 HIGH

📋 TL;DR

A vulnerability in NGINX Ingress Controller's nginx.org/rewrite-target annotation validation allows path traversal attacks. This affects Kubernetes clusters using NGINX Ingress Controller with the vulnerable annotation, potentially enabling attackers to access restricted files or directories.

💻 Affected Systems

Products:
  • NGINX Ingress Controller
Versions: Specific versions not provided in reference; check F5 advisory for details
Operating Systems: Linux-based container environments
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects configurations using nginx.org/rewrite-target annotation. NGINX Plus and open source NGINX are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full path traversal leading to arbitrary file read, configuration manipulation, or potential remote code execution depending on system permissions and configuration.

🟠

Likely Case

Unauthorized access to sensitive files or directories within the container filesystem, potentially exposing secrets, configuration files, or application data.

🟢

If Mitigated

Limited impact with proper network segmentation, minimal container permissions, and restricted file system access.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Path traversal vulnerabilities typically have low exploitation complexity when the vulnerable endpoint is accessible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check F5 advisory K000158176 for specific patched versions

Vendor Advisory: https://my.f5.com/manage/s/article/K000158176

Restart Required: Yes

Instructions:

1. Review F5 advisory K000158176. 2. Identify affected NGINX Ingress Controller version. 3. Upgrade to patched version. 4. Restart NGINX Ingress Controller pods. 5. Verify annotation validation is working.

🔧 Temporary Workarounds

Disable rewrite-target annotation

linux

Remove or disable the nginx.org/rewrite-target annotation from vulnerable ingress configurations

kubectl edit ingress <ingress-name>
Remove or comment out nginx.org/rewrite-target annotation lines

Implement network restrictions

all

Restrict access to NGINX Ingress Controller to trusted networks only

Configure network policies or firewall rules to limit ingress traffic

🧯 If You Can't Patch

  • Implement strict network segmentation to limit access to NGINX Ingress Controller
  • Apply principle of least privilege to container filesystem and runtime permissions

🔍 How to Verify

Check if Vulnerable:

Check if NGINX Ingress Controller is using nginx.org/rewrite-target annotation: kubectl get ingress -o yaml | grep 'nginx.org/rewrite-target'

Check Version:

kubectl describe pod <nginx-ingress-pod> | grep Image

Verify Fix Applied:

After patching, test path traversal attempts against endpoints using rewrite-target annotation should be blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual path traversal patterns in access logs
  • Failed attempts to access restricted paths
  • Multiple 400/403 errors for path manipulation attempts

Network Indicators:

  • Unusual HTTP requests containing '../' sequences
  • Requests attempting to access sensitive paths

SIEM Query:

source="nginx-ingress" AND (uri="*../*" OR uri="*..\\*" OR status_code=400)

🔗 References

📤 Share & Export