CVE-2018-19991
📋 TL;DR
CVE-2018-19991 is a critical vulnerability in VeryNginx 0.3.3 that allows remote attackers to bypass the Web Application Firewall (WAF) protection. The vulnerability occurs due to missing error handlers for get_uri_args and get_post_args functions, enabling API misuse similar to CVE-2018-9230. Organizations using VeryNginx 0.3.3 for web application protection are affected.
💻 Affected Systems
- VeryNginx
📦 What is this software?
Verynginx by Verynginx Project
⚠️ Risk & Real-World Impact
Worst Case
Attackers completely bypass WAF protection, allowing unfiltered injection attacks (SQLi, XSS, command injection) to reach backend applications, potentially leading to full system compromise.
Likely Case
Attackers bypass security controls to execute web application attacks that would normally be blocked, leading to data breaches, unauthorized access, or service disruption.
If Mitigated
With proper network segmentation and additional security layers, impact is limited to the VeryNginx instance itself rather than backend systems.
🎯 Exploit Status
Exploitation requires understanding of the API misuse pattern from CVE-2018-9230. Attackers can craft malicious requests to bypass WAF filtering.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.3.4 or later
Vendor Advisory: https://github.com/alexazhou/VeryNginx/issues/218
Restart Required: Yes
Instructions:
1. Backup current configuration. 2. Update VeryNginx to version 0.3.4 or later. 3. Restart VeryNginx service. 4. Verify WAF functionality is working correctly.
🔧 Temporary Workarounds
Disable WAF Feature
linuxTemporarily disable the Web Application Firewall feature until patching can be completed
Edit VeryNginx configuration to disable WAF rules
Implement Rate Limiting
linuxAdd additional rate limiting to reduce attack surface
Configure Nginx rate limiting modules
🧯 If You Can't Patch
- Implement network segmentation to isolate VeryNginx instance from critical backend systems
- Deploy additional WAF or IPS in front of VeryNginx as compensating control
🔍 How to Verify
Check if Vulnerable:
Check VeryNginx version: grep 'version' /path/to/verynginx/config or check running process
Check Version:
verynginx -v or check configuration files for version information
Verify Fix Applied:
Verify version is 0.3.4 or later and test WAF functionality with known attack patterns
📡 Detection & Monitoring
Log Indicators:
- Unusual request patterns bypassing WAF rules
- Increased blocked request counts after WAF bypass
- Requests with malformed parameters that should be blocked
Network Indicators:
- Traffic patterns showing successful attacks that should be blocked by WAF
- Increased backend application errors
SIEM Query:
source="verynginx" AND (message="bypass" OR message="WAF_failed" OR status_code=200 AND request_uri CONTAINS malicious_pattern)