CVE-2018-25016

9.8 CRITICAL

📋 TL;DR

CVE-2018-25016 is a Host Header Injection vulnerability in Greenbone Security Assistant (GSA) and Greenbone OS (GOS) that allows attackers to manipulate HTTP host headers to perform web cache poisoning, password reset poisoning, or redirect users to malicious sites. This affects all users running vulnerable versions of Greenbone's security management software. The vulnerability is particularly dangerous because it can be exploited without authentication.

💻 Affected Systems

Products:
  • Greenbone Security Assistant (GSA)
  • Greenbone OS (GOS)
Versions: GSA before 7.0.3, GOS before 5.0.0
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations of affected versions are vulnerable. The vulnerability exists in the web interface component.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could redirect all users to malicious phishing sites, steal credentials via poisoned password reset links, or poison web caches to serve malicious content to all users.

🟠

Likely Case

Attackers perform phishing attacks by redirecting users to malicious sites or manipulate password reset functionality to steal credentials.

🟢

If Mitigated

With proper network segmentation and web application firewalls, impact is limited to potential information disclosure or minor service disruption.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Host header injection is a well-known attack vector with simple exploitation techniques. The GitHub pull request shows the specific vulnerable code patterns.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: GSA 7.0.3 or later, GOS 5.0.0 or later

Vendor Advisory: https://github.com/greenbone/gsa/releases/tag/v7.0.3

Restart Required: Yes

Instructions:

1. Backup your current configuration. 2. Update GSA to version 7.0.3 or later using your package manager. 3. Update GOS to version 5.0.0 or later. 4. Restart the Greenbone services. 5. Verify the update was successful.

🔧 Temporary Workarounds

Web Application Firewall Rule

all

Configure WAF to validate and sanitize Host headers

# Example ModSecurity rule: SecRule REQUEST_HEADERS:Host "!@rx ^(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$" "id:1001,phase:1,deny,status:400"

Reverse Proxy Configuration

linux

Configure reverse proxy to validate and rewrite Host headers

# Nginx example: proxy_set_header Host $http_host;
# Apache example: RequestHeader set Host "example.com"

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Greenbone systems from untrusted networks
  • Deploy a web application firewall with specific rules to validate and sanitize Host headers

🔍 How to Verify

Check if Vulnerable:

Check GSA version with: gvm-manage-certs -V | grep 'GSA version' or check web interface footer for version number

Check Version:

gvm-manage-certs -V | grep 'GSA version'

Verify Fix Applied:

Verify version is 7.0.3 or higher for GSA, 5.0.0 or higher for GOS. Test with Host header manipulation tools like Burp Suite.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Host header values in web server logs
  • Multiple requests with manipulated Host headers from same source

Network Indicators:

  • HTTP requests with malformed or suspicious Host headers
  • Traffic patterns showing redirection to unexpected domains

SIEM Query:

source="web_logs" AND (Host="*..*" OR Host="*@*" OR Host="*;*" OR Host="*%0d*" OR Host="*%0a*")

🔗 References

📤 Share & Export