CVE-2023-44031
Executive Summary
CVE-2023-44031 describes an incorrect access control vulnerability in Reprise License Manager (RLM) v15.1. An attacker can send a crafted POST request to save sensitive files in insecure locations, potentially leading to arbitrary file write, privilege escalation, or denial of service. The vulnerability has a CVSS score of 0.0 (unscored) and an EPSS score of 0.0%, indicating low exploitation probability at this time. No public exploit code or patch is available. The vendor (Reprise) has not acknowledged or patched this issue.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects a standalone license management software (RLM) commonly deployed in enterprise environments for software licensing.
CVSS Breakdown & Threat Level
- CVSS Score: 0.0 (Unscored)
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: High
- Availability Impact: High
Threat Level: High (due to potential for arbitrary file write and lack of authentication).
EPSS Probability: 0.0% (low exploitation likelihood).
Deep Dive & Mechanics
The vulnerability resides in the Reprise License Manager (RLM) web interface. RLM is a license server that manages software licenses for various vendors. The web interface typically runs on port 5054 (HTTP) and provides administrative functions.
Root Cause: The application fails to properly validate access control for POST requests that handle file operations. An unauthenticated attacker can send a crafted POST request to endpoints that save configuration files, license files, or other sensitive data to arbitrary locations on the filesystem.
Attack Vector:
- Identify an RLM instance (e.g., via Shodan or internal network scanning).
- Send a POST request to a vulnerable endpoint (e.g.,
/admin/save_configor similar) with parameters that specify a file path and content. - The server writes the content to the specified path without authentication or path traversal checks.
Impact:
- Overwrite critical system files (e.g.,
/etc/passwd, web server configs). - Write a malicious script to a web-accessible directory (e.g.,
webapps/). - Cause denial of service by corrupting license files.
Vulnerable vs. Patched Code
No patched version exists. The vulnerable code likely lacks input validation and authentication checks. A hypothetical vulnerable code snippet (pseudo-code):
# Vulnerable endpoint
@app.route('/admin/save_file', methods=['POST'])
def save_file():
file_path = request.form['path']
content = request.form['content']
with open(file_path, 'w') as f:
f.write(content)
return "File saved"
A patched version would require:
- Authentication (e.g., session token or API key).
- Path validation (e.g., restrict to a specific directory).
- Input sanitization.
Exploitation & Lab Setup
Red Team
Lab Setup:
- Deploy RLM v15.1 in a Docker container or VM.
- Expose the web interface on port 5054.
- Use Burp Suite or curl to craft POST requests.
Exploitation Steps:
- Identify the vulnerable endpoint (e.g., via fuzzing or documentation).
- Send a POST request to save a malicious file:
curl -X POST http://target:5054/admin/save_file \
-d "path=/var/www/html/shell.php" \
-d "content=<?php system($_GET['cmd']); ?>"
- Access the uploaded shell:
http://target/shell.php?cmd=id.
Note: No public exploit code is available. The above is a hypothetical example.
Blue Team
Detection:
- Monitor for POST requests to
/admin/endpoints without authentication. - Alert on file writes to unusual directories (e.g.,
/var/www/,/tmp/). - Use file integrity monitoring (FIM) to detect unauthorized changes.
Hunting:
- Search logs for
POST /admin/save_fileor similar patterns. - Look for outbound connections from the RLM server to unknown IPs.
Indicators of Compromise (IOCs)
- Network:
- POST requests to
/admin/save_fileor similar endpoints. - Unusual file paths in POST parameters (e.g.,
../../etc/passwd).
- POST requests to
- File System:
- Unexpected files in web-accessible directories.
- Modified configuration files (e.g.,
rlmserver.conf).
- Logs:
- RLM logs showing file write operations without authentication.
Detection Engineering
YARA Rule
rule CVE_2023_44031_RLM_FileWrite {
meta:
description = "Detects attempts to exploit CVE-2023-44031 in Reprise License Manager"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2023-44031"
strings:
$s1 = "save_file" ascii wide nocase
$s2 = "path=" ascii wide nocase
$s3 = "content=" ascii wide nocase
condition:
all of them
}
Sigma Rule
title: CVE-2023-44031 - RLM Unauthenticated File Write
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects POST requests to RLM admin endpoints with file path parameters
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: '/admin/save_file'
condition: selection
falsepositives:
- Legitimate admin actions (if authentication is present)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2023-44031 - RLM Unauthenticated File Write"; flow:to_server; content:"POST"; http_method; content:"/admin/save_file"; http_uri; content:"path="; http_client_body; content:"content="; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Restrict network access to RLM web interface (e.g., firewall rules, VPN).
- Implement reverse proxy with authentication (e.g., Nginx with basic auth).
- Monitor logs for suspicious POST requests.
Long-term Fix:
- No patch available. Consider migrating to an alternative license management solution.
- Contact Reprise for updates or custom patch.
Workaround:
- Disable the web interface if not needed.
- Use file system permissions to prevent RLM from writing to sensitive directories.
Valters IT
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.